我不认为这是可能的。解决方法可能是为每个项目使用一个组件。
MY-列分量
//my-columns.js
export default Ember.Component.extend({
columns: null
});
//my-columns.hbs
{{#each columns as |column|}}
{{my-column value=column}}
{{/each}}
MY-列分量
//my-column.js
export default Ember.Component.extend({
nameUpdated : Ember.computed('value.name', function() {
console.log(this.get('value.name'));
});
});
另一个提示:从未在的分量的属性设置为[]
或{}
因为它会被共享跨越compoent的所有实例(像一个静态属性 - 除非你想要这个行为当然)。在你的情况下,用户将通过传递自己的列对象来覆盖它,但无论如何它都是有帮助的。如果你需要在你的组件中的数组,你可以这样做:
export default Ember.Component.extend({
myArray : null,
init : function() {
this._super.apply(this, arguments);
this.set('myArray', []);
}
});
来源
2015-07-04 11:21:30
jax
也许_watchColums:函数(newVal)将返回新的值?这在Angular中是这样的,对于Ember不知道。 – Chrillewoodz
是的,那对我来说是期望的行为,但它并不像那样工作。 –
尝试阅读文档,但它并没有真正解释任何关于它的事情。 – Chrillewoodz