有人可以帮我弄清楚为什么我的“AS.controller”在javascript中是未定义的错误。这是一个jsfiddle:http://jsfiddle.net/deewen/5ZgaT/ 在jsfiddle中,错误是
未捕获的TypeError:无法调用未定义的方法'extend'
在我的浏览器中,我得到了
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,
//......
答案 0 :(得分:1)
问题在于这一行:
AS.AnalyticsIndexController = AS.Controller.extend({
除非您在提供的代码之外的某处定义了AS.Controller
,否则您将尝试扩展不存在的类。我很可能怀疑你打算使用Ember.Controller
。
另外,如果您使用的是最新的Ember数据(0.13及以上),则不再需要revision: ...
行来定义商店。我没有检查是否保留它会导致错误。