我有Handlebars模板的範圍問題。我有一個模塊列表,其中每個模塊都包含一個服務列表。所以我有這樣的一個模板(有一些標記刪除):Ember.js把手範圍問題
{{#each controller}}
<a onclick='$(".{{unbound uuid}}").toggle(0);'>
{{#each service in services}}
<div class='{{unbound uuid}}'></div>
{{/each}}
{{/each}}
的問題是,第二{{unbound uuid}}
不會被取代。如果我嘗試訪問外部範圍的任何其他項目,則會發生同樣的情況。但是,Ember.js網站說使用each ... in
幫手應該保留外部範圍。我究竟做錯了什麼?
(FYI:使用最新版本Ember.js,灰燼數據和把手的)。
此博客文章(http://www.emberist.com/2012/04/06/bind-and-bindattr.html)解釋了爲什麼您需要使用「{{bindAttr}}」而不是正常的句柄'{{...}}'。 – CraigTeegarden
這不是我的問題。使用'unbound'關鍵字可以很好地處理這個問題(因爲我並不需要綁定)。我的問題是與範圍。正如您在我對Gevious的回答的評論中看到的那樣,它仍然沒有對uuid進行正確的替換。 – GJK
嘗試在內部作用域中記錄你的'uuid',比如'{{#each service in services}} {{log uuid}} {{/ each}}'你在控制檯中看到記錄的'uuid'嗎? – intuitivepixel