1

我尝试将我的应用程序 emberjs 版本从 1.0.0 rc8 更新到 1.0.0,但出现路由错误。在我的应用程序路线中,我有这些代码:

OlapApp.ApplicationRoute = Ember.Route.extend({
    setupController: function (controller, model) {
        this.controllerFor('column').set('model', OlapApp.AxisModel.find());
       this.controllerFor('row').set('model', OlapApp.AxisModel.find());
   },
   renderTemplate: function (controller, context) {
      this._super(controller, context);
      this.render('application');
      this.render('column', {
        into: 'application',
        outlet: 'column',
        controller: 'column'
    });
    this.render('row', {
        into: 'application',
        outlet: 'row',
        controller: 'row'
    });
},
  dimenssionTree: function () {
    return OlapApp.MeModel.find();
}
});

并得到这个错误:

DEPRECATION: Action handlers contained in an `events` object are deprecated in favor of          putting them in an `actions` object (error on <OlapApp.ApplicationRoute:ember314>)
    at Object.triggerEvent (file:///F:/OLAP/app/lib/ember.js:30519:13)
    at trigger (file:///F:/OLAP/app/lib/ember.js:29641:16)
    at handlerEnteredOrUpdated (file:///F:/OLAP/app/lib/ember.js:29537:11)
    at file:///F:/OLAP/app/lib/ember.js:29512:9
    at eachHandler (file:///F:/OLAP/app/lib/ember.js:29559:9)
    at setupContexts (file:///F:/OLAP/app/lib/ember.js:29511:7)
    at finalizeTransition (file:///F:/OLAP/app/lib/ember.js:29835:7)
    at transitionSuccess (file:///F:/OLAP/app/lib/ember.js:29732:13)
    at invokeCallback (file:///F:/OLAP/app/lib/ember.js:8055:19) ember.js:394
 Error while loading route: TypeError {} ember.js:394

如果评论这些行:

     this.controllerFor('column').set('model',OlapApp.AxisModel.find());
    this.controllerFor('row').set('model',OlapApp.AxisModel.find());

我可以看到我的应用程序,但应用程序无法正常工作,我认为这些牵引线有错误。我还从 builds.emberjs.com 将 ember-data 更新到最新版本

4

3 回答 3

5

发布的错误来自dimenssionTree应该在actions错误中提到的对象中:

actions: {
    dimenssionTree: function () {
        return OlapApp.MeModel.find();
    }
}

就像你发现OlapApp.AxisModel.find()应该写this.store.find('AxisModel')的。至于FIxtures可能很好看你的代码。

于 2013-09-04T14:14:18.493 回答
1

该行:

this.controllerFor('column').set('model', this.get('store').find('AxisModel'));

应该阅读:

this.controllerFor('column').set('model', this.get('store').find('axisModel'));

主要区别在于更改AxisModelaxisModel.

您可以在此处阅读有关过渡的更多信息。

希望能帮助到你。

于 2013-09-04T16:52:48.973 回答
-2

我改变

this.controllerFor('column').set('model',OlapApp.AxisModel.find());

this.controllerFor('column').set('model', this.get('store').find('AxisModel'));

并且知道我可以看到我的应用程序,但是 ii dosent declear FIXTURES 我收到一个错误,说找不到 AxisModel 的任何 FIXTURE

于 2013-09-04T10:08:24.537 回答