为什么@each会让模板重新渲染?

时间:2013-02-18 10:54:32

标签: ember.js

Ember.VERSION : 1.0.0-rc.1
Handlebars.VERSION : 1.0.0-rc.3
jQuery.VERSION : 1.8.2

这是我模特的一部分:

first_three: function() {
    var staples = this.get('staples');
    var data = staples.slice(0,3));
    return data;
    }.property('staples.@each.isLoaded')

我在模板中使用它:

{{#each staple in album.first_three}}
    {{#linkTo staples.details staple}}
        <img {{bindAttr src="staple.object.image_pict"}}>
    {{/linkTo}}
{{/each}}  

因此,我有

NS_ERROR_DOM_NOT_OBJECT_ERR: Parameter is not an object  

Error: Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.

为什么呢?我究竟做错了什么?我该如何解决?

1 个答案:

答案 0 :(得分:1)

NS_ERROR_DOM_NOT_OBJECT_ERR是一个jQuery问题。 Ember依赖于视图中的jQuery。我有一个类似的问题,我的每个循环都在构建不存在的HTML标签(即我忘了在标签上添加'&gt;')。您的循环是否会完成任何迭代?那将是一个很好的起点。