我在 View 中有一个对象数组,它们应该表示 .hbs
中的动态数量的字段
所以数组是:
export default Ember.View.extend({
metadata_queries: [{name: '', type: 'Exists',
disableValue: true, queryValue:''}
/*, {...}, {...} */],
});
其余数组元素将动态添加
我在 .hbs
中有一个 Ember.TextField
,需要根据 disableValue
禁用(或隐藏 - 以更容易的为准) (通过观察绑定(bind)到 Ember.Select
的类型来改变。
代码:
{{#each view.metadata_queries}}
<div class="form-group">
<div class="col-xs-2 col-xl-2">
{{view Ember.Select content=view.metaTypes selection=type}}
</div>
<div class="col-xs-2 col-xl-2">
{{view Ember.TextField classBinding=":tests-query" value=queryValue disabled=disableValue}}
</div>
</div>
{{/each}}
问题是 disableValue
不是一个属性 - 所以 View 不会更新(我检查过 - bool 值本身确实改变了)
我怎样才能做到这一点?
做了一个 JSFiddle 来举例说明: http://jsfiddle.net/6Evrq/400/
最佳答案
嗯...显然我没有正确更新disableValue
:
正确的做法是:
this.get('metadata_queries').forEach(function(item, index, metaQueries) {
Ember.set(item, "disableValue", item.type === "Exists");
});
关于ember.js - 让 Ember.TextField 观察数组内属性的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28363975/