我有一个像这样的控制器
App.TestController = Ember.ArrayController.extend({
navigation:[],
somefunc:function(){
//do something
}
});
并有
的观察员globalvars = Ember.Object.create({
page : 1,
});
globalvars.addObserver('page', function() {
this.get('controller.controllers.Test').somefunc();
});
问题是我无法调用控制器内部的功能。
答案 0 :(得分:2)
正如我在评论中已经提到的,这里有一个免责声明:
您应该更详细地解释一下您要完成的任务。 您试图以一种奇怪的方式访问控制器。
但如果您必须这样做,这是一种方法:
var App = Ember.Application.create({});
// put the global vars into the App object instead of polluting the global namespace
App.globalvars = Ember.Object.create({
page : 1,
});
我不是将观察者放在globalVars对象中,而是在控制器中声明观察者:
App.TestController = Ember.ArrayController.extend({
navigation:[],
somefunc:function(){
//do something
},
globalVarsPageObserver : function(){
this.somefunc();
}.observes("App.globalvars.page")
});