【问题标题】:ember app.controller is undefined errorember app.controller 是未定义的错误
【发布时间】:2013-10-18 03:59:21
【问题描述】:

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

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

在我的浏览器中,我得到了

TypeError: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,
//......

【问题讨论】:

    标签: ember.js ember-data


    【解决方案1】:

    问题出在这一行:

    AS.AnalyticsIndexController = AS.Controller.extend({
    

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

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

    【讨论】:

    • 谢谢,就是这样,我真的需要第二眼看这个。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-14
    • 1970-01-01
    相关资源
    最近更新 更多