在我的ember 1.9.1(EAK)应用程序中,正在使用queryParams在页面之间导航并单击相应的按钮来更新相应的url。如果我第一次单击该按钮,则会渲染该视图,但是如果刷新页面,则会显示“无法读取未定义的属性发送”
在我的approute.js文件中,

queryParams: {category: {refreshModel:true}},
------model----
actions: { queryParamsDidChange: function(){
                        var self = this;
                        console.log("CONTROLLER " + this.controller);
                        self.controller.send('resetListObj'); // No I18N
                        self.controller.send('resetPageObj'); // No I18N
                        self.refresh();
                } }


我的appcontroller.js具有类似

queryParams: ['category'], // No I18N
    category: 'all', // No I18N


如果刷新页面,控制器将变为未定义状态。

最佳答案

这是因为在实例化控制器本身之前会触发路由中的“ queryParamsDidChange”操作。您将需要使用“ Ember.run.next”或“ Ember.run.later”之类的函数来操纵运行循环,从而推迟在控制器上调用的函数。

10-07 14:10