为什么这个emberjs模板没有更新?

Wil*_*ill 1 javascript ember.js

我正在学习emberjs,我做了一个非常简单的例子.HTML模板是:

<script type="text/x-handlebars">
    Hello <b>{{App.appOwner}}</b>
</script>
Run Code Online (Sandbox Code Playgroud)

然后javascript是:

App = Ember.Application.create({
  appOwner : 'Erik'
});


App.appOwner = 'Tom';
Run Code Online (Sandbox Code Playgroud)

这几乎与您的期望相符.emberjs.com文档说模板是自动更新的 - 所以我添加了这个:

$(document).click(function() {
  console.log('HERE!');
  App.appOwner = 'Alphonse';
});
Run Code Online (Sandbox Code Playgroud)

这出乎意料地失败了.我添加了console.log只是为了确保调用click处理程序,它就是这样.为什么不更新?

zer*_*kms 6

您需要使用.set()mutator方法,因为javascript没有拦截直接属性更改的工具:

App.set('appOwner', 'Alphonse');
Run Code Online (Sandbox Code Playgroud)