无法读取未定义

时间:2015-09-02 09:11:26

标签: javascript ember.js

在我的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

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

1 个答案:

答案 0 :(得分:1)

这是因为" queryParamsDidChange'在实例化控制器本身之前触发路由中的操作。您将不得不通过使用' Ember.run.next'等功能操纵运行循环来推迟控制器上调用的函数。或者' Ember.run.later'。