1

从视图中的控制器访问和更改属性的有效方法是什么?我在视图中有多个视图。我必须更改parentView不引用的属性this.get('parentView.property'),因为我经常重用视图并且层次结构发生了很大变化。

如何在 ember.js 中有效地跨视图维护变量?

4

1 回答 1

1

如果视图的属性没有绑定为模型,我遵循的一种方法是在视图之间使用公共控制器并观察控制器的属性。

例如。

 App.TestController = Ember.Controller.extend({
        commonProperty: "Val1"
    });

    App.View1 = Ember.View.extend({
        ObserverCommonProperty : function() {
             //runs code 
        }.observes('controller.commonProperty')
    });
    App.View2 = Ember.View.extend({
        didInsertElement: function() {
            this.get('controller').set('commonProperty',"Val2");
        }
    });

这样你就不会担心其他视图对象的存在,也不会破坏任何 MVC 规则

于 2013-04-02T13:49:54.570 回答