0

有人可以帮我弄清楚为什么我的“AS.controller”在javascript中是未定义的错误。这是一个 jsfiddle: http: //jsfiddle.net/deewen/5ZgaT/ 在 jsfiddle 中,错误是

未捕获的类型错误:无法调用未定义的方法“扩展”

在我的浏览器中,我得到

类型错误:AS.Controller 未定义

余烬代码是:

window.AS = Ember.Application.create({
    LOG_TRANSITIONS: true
});

AS.baseURL = "/platformservices/";
AS.RESTAdapter = DS.RESTAdapter.extend({});

AS.Store = DS.Store.extend({
    revision: 12,
    adapter: 'AS.RESTAdapter'
});

AS.Router.map(function(){
    this.resource('analytics', {path: '/analytics'}, function(){
        this.resource('analyticsRuns',function(){
            this.resource('analyticsRun',{path: ':runId'});
        });
    });
});

AS.IndexRoute = Ember.Route.extend({
    redirect: function() {
        this.transitionTo('analytics');
    }
});

AS.AnalyticsIndexController = AS.Controller.extend({
    engagements : null,
    exercises : null,
    exerciseRuns : null,
//......
4

1 回答 1

1

问题是这一行:

AS.AnalyticsIndexController = AS.Controller.extend({

除非您AS.Controller在提供的代码之外的某个地方进行了定义,否则您正在尝试扩展一个不存在的类。我很可能怀疑您打算使用Ember.Controller.

此外,请注意,如果您使用最新的 Ember Data(0.13 及更高版本),则不再需要revision: ...定义商店的行。我还没有检查过保留它是否会导致错误。

于 2013-09-25T15:34:59.500 回答