0

在尝试将视图中的值绑定到控制器中的值时,我遇到了一些单向绑定问题:

App.ApplicationController = Ember.Controller.extend({
    value: 'my value'
});

App.ApplicationView = Ember.View.extend({
    templateName: 'application',

    willInsertElement: function() {
        console.log('will insert element');
        console.log('value from controller > ', this.get('controller').get('value'));
        console.log('value > ', this.get('value'));
        console.log('completeValue > ', this.get('completeValue'));
    },

    valueBinding: Ember.Binding.oneWay('controller.value'),
    completeValueBinding: Ember.Binding.oneWay('App.ApplicationController.value')
});

“value >”返回正确的值,但“completeValue >”返回未定义(参见 jsFiddle http://jsfiddle.net/U29wV/7/)...

4

1 回答 1

0

您引用的是类ApplicationController而不是实际实例。

您已经ApplicationController通过视图的属性访问实例controller,因此只需将其用于绑定:

valueBinding: Ember.Binding.oneWay('controller.value'),
completeValueBinding: Ember.Binding.oneWay('controller.value')

这使得它与valueBinding...相同

于 2013-02-27T17:52:33.463 回答