我有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