使用最新的(今天来自GitHub)Ember和Ember数据,此代码给我一个错误-未捕获的TypeError:无法读取enpe-data-latest. js上未定义的属性“查找”:3170
http://jsfiddle.net/Bf43W/9/
// only needed on JSFiddle; this is to trigger the route
history.pushState("", "", "/projects/1/tasks");
App = Ember.Application.create({});
App.store = DS.Store.extend({
revision: 4,
adapter: DS.RESTAdapter.create()
});
App.Project = DS.Model.extend({
name: DS.attr('string')
});
App.ApplicationController = Ember.ObjectController.extend({
});
App.ApplicationView = Ember.View.extend({
templateName: 'application'
});
App.TasksView = Ember.View.extend({
templateName: 'tasks'
});
App.Router = Ember.Router.extend({
root: Ember.Route.extend({
tasks: Ember.Route.extend({
route: '/projects/:project_id/tasks',
connectOutlets: function(router) {
router.get('applicationController').connectOutlet('Tasks');
}
})
})
});
App.router = App.Router.create({
location: 'history'
});
App.initialize(App.router);
更改:在路由中projects_id其他内容(例如1,因此它与URL匹配)可以解决此问题,但这当然不是很有用。
有人能解释一下这里发生了什么吗?谢谢!
我也遇到了同样的问题。我通过从以下位置获取最新下载而不是编译最新提交来解决它:
https://github.com/emberjs/data/downloads
这段代码是3个月前的,所以我们一直在使用修订版4,但它很稳定。
在我注意到他们在Ember-Data存储库中使用的Ember版本比您从Ember网站下载的版本更新后,我能够开始这项工作:
// Version: v1.0.pre-156-gddcc580
// Last commit: ddcc580 (2012-09-21 09:52:25 -0700)
vs
// Version: v1.0.pre
// Last commit: 7955b85 (2012-08-03 14:50:17 -0700)
编译最新版本的Ember-Data后,进入dist/模块以获取他们正在开发的Ember版本。
我还必须更改Store的初始化方式:
App.Store = DS.Store.extend({
revision: 4,
adapter: DS.RESTAdapter.create()
});
到
App.store = DS.Store.create({
revision: 6,
adapter: DS.RESTAdapter.create()
});
我还必须删除App.初始化()行,因为这个较新版本的Ember似乎正在实例化自己。
唯一的错误是你必须将App.store大写。你声明了一个类,所以命名约定需要App.Store,以便让应用程序初始化正常进行。
有同样的问题
在我的情况下只是替换
App.Store = DS.Store.extend({
...
})
到
App.store = DS.Store.create({
...
})
修复了它。所以我想Ember. js版本不是问题。无论如何,谢谢你知道如何解决我的问题。