content.name为集合返回空

时间:2012-08-19 16:46:27

标签: ember.js

我从ember.js开始,在ember.js文档(http://docs.emberjs.com/symbols/Handlebars.helpers.html#.collection)中试用了一些东西时遇到了麻烦。

此应用程序代码:

App = Ember.Application.create()
App.items = [
  Ember.Object.create({name: 'Dave'}),
  Ember.Object.create({name: 'Mary'}),
  Ember.Object.create({name: 'Sara'})
]

使用此模板代码:

{{#collection contentBinding="App.items"}}
    Hi {{content.name}}
{{/collection}}

结果如下:

<div id="ember122" class="ember-view">    
    <div id="ember142" class="ember-view">    
        <div id="ember149" class="ember-view">  Hi    
            <script id="metamorph-0-start" type="text/x-placeholder">    
            </script>    
            <script id="metamorph-0-end" type="text/x-placeholder">    
            </script>    
        </div>    
        <div id="ember150" class="ember-view">  Hi    
            <script id="metamorph-1-start" type="text/x-placeholder">    
            </script>    
            <script id="metamorph-1-end" type="text/x-placeholder">    
            </script>    
        </div>    
        <div id="ember151" class="ember-view">  Hi    
            <script id="metamorph-2-start" type="text/x-placeholder">    
            </script>    
            <script id="metamorph-2-end" type="text/x-placeholder">    
            </script>    
        </div>    
    </div>    
</div>

因此,它有效地遍历对象,但无法返回每个对象的名称值。为什么是这样?这些文档可能已经过时了吗?有没有更好的方法来实现所需的结果(迭代项目)?谢谢你的回答。

2 个答案:

答案 0 :(得分:2)

我认为您使用的是ember-latest或1.0-pre,在这种情况下,您必须在content.name前加上view。从1.0开始,上下文的检索发生了变化。请参阅:Ember.js: Handlebars displays nothing了解更多内容。

有人说,文件不是最新的。你可以用修复程序发布一个拉取请求吗?

答案 1 :(得分:0)

此示例效果很好:http://jsfiddle.net/secretlm/qD6az/3/

希望这有帮助。