0

我创建了以下示例代码:

http://ninjy.com:8080/ember/How%20to%20set%20a%20lower%20controller%27s%20variables/#/blah

当您单击按钮时,它应该更改模板文本。它确实这样做了,但更改不会在屏幕上更新。当您交换值和操作时,它确实可以正常工作:当按钮位于 Blah 中(行下方)和 Application 中的模板值(行上方)时,该值在屏幕上成功更新。

有人可以解释为什么会这样,以及如何正确更新值吗?

4

1 回答 1

1

您需要提供小写名称blah,而不是Blah在需要控制器时:

App.ApplicationController = Ember.ObjectController.extend({
  needs: ['blah'],
  act: function() {
    console.log('act');
    var ctrl = this.get('controllers.blah');
    ctrl.set('myvalue', 'and this is the replacement text');
  }
});

工作的jsbin。

希望能帮助到你。

于 2013-09-02T21:30:37.963 回答