我正在学习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只是为了确保调用click处理程序,它就是这样。为什么不更新?
答案 0 :(得分:6)
您需要使用.set()
mutator方法,因为javascript没有拦截直接属性更改的工具:
App.set('appOwner', 'Alphonse');