我已经尝试观察简单的Ember.Select的选择更改并且它可以工作,但是当我使用select with multiple = true时它会失败。这里有一些代码:
{{view Ember.Select
multiple=true
contentBinding="App.TopicController"
selectionBinding="content.TOPICS"
optionLabelPath="content.label"
optionValuePath="content.id"}}
当我更改输入的选择时,它必须触发观察者:
App.Configuration = Em.Object.extend({
TOPICS:[],
// this observer must work when selection changes
topicsSelected: function() {
console.log('topics selection changed!');
}.observes('TOPICS', 'TOPICS.@each', 'TOPICS.length')
});
JSBin遇到此问题:http://jsbin.com/
版本:handlebars 1.0.0,ember 1.0.0
答案 0 :(得分:4)
将TOPICS
变量更改为topics
将解决此问题。我认为这是因为这个问题https://github.com/emberjs/ember.js/issues/3098。
在topicsSelected
观察员中,如果您想观察选择,则需要observes('topics.length')
。
查看更新的jsbin http://jsbin.com/ofONeQ/14/edit