请考虑以下代码段:
var ITEMS = ["Item 1", "Item 2"]
window.App = Ember.Application.create();
window.App.ApplicationController = Ember.Controller.extend({
sItems: ITEMS,
sValue: ITEMS[0],
sLabel: Ember.computed('sValue', function() {
return this.get('sValue') == ITEMS[0] ?
"You picked item 1!" :
"You picked item 2!";
})
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://builds.emberjs.com/tags/v1.13.5/ember.min.js"></script>
<script src="http://builds.emberjs.com/release/ember-template-compiler.js"></script>
<script type="text/x-handlebars">
{{view "select" content=sItems value=sValue}}
{{sLabel}}
</script>
&#13;
将<select>
的值更改三次后,它不再触发对sValue
属性的更改。因此,标签不再发生变化。
我已经能够在OS X上的Chrome和Safari,Windows 8.1上的IE11以及Linux上的Firefox和Chromium中重现这一点。 (您应该能够通过运行上面的代码段来重现它。)
我做错了什么?
修改:这似乎是在Ember.js v1.13.4中引入的a known bug。
答案 0 :(得分:1)
在Ember 1.13中不推荐使用{{view 'select'}}
视图助手(以及views
)。
阅读Deprecation Guide: Ember.Select了解详细信息和可能的解决方法。
答案 1 :(得分:1)