我正在学习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');

08-19 08:23