我正在学习emberjs,并且已经完成了一个非常简单的示例。 HTML模板是:
<script type="text/x-handlebars">
Hello <b>{{App.appOwner}}</b>
</script>
然后,javascript是:
App = Ember.Application.create({
appOwner : 'Erik'
});
App.appOwner = 'Tom';
这几乎可以满足您的期望。 emberjs.com文档说模板正在自动更新-所以我添加了以下内容:
$(document).click(function() {
console.log('HERE!');
App.appOwner = 'Alphonse';
});
其中相当意外地失败了。我添加了console.log只是为了确保点击处理程序被调用。为什么不更新?
最佳答案
您需要使用.set()
mutator方法,因为javascript不具有拦截直接属性更改的功能:
App.set('appOwner', 'Alphonse');