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

时间:2012-05-18 02:10:55

标签: javascript ember.js

我正在学习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处理程序,它就是这样。为什么不更新?

1 个答案:

答案 0 :(得分:6)

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

App.set('appOwner', 'Alphonse');