我刚升级到最新的ember.js.在那之后,我的应用程序开始失败.
这是Firebug输出:
DEBUG: -------------------------------
DEBUG: Ember : 1.0.0
DEBUG: Ember Data : 1.0.0-beta.2
DEBUG: Handlebars : 1.0.0
DEBUG: jQuery : 1.10.2
DEBUG: -------------------------------
Attempting URL transition to /
Transition #1: Beginning validation for transition to clocks.index
Transition #1: application: calling beforeModel hook
Transition #1: application: resolving model
Transition #1: application: calling afterModel hook
Transition #1: application: validation succeeded, proceeding
Transition #1: clocks: calling beforeModel hook
Transition #1: clocks: resolving model
Transition #1: clocks.index: transition was aborted
Transition #1: clocks: handling error: TypeError: App.Clock.find is not a function
Error while loading route:
TypeError: App.Clock.find is not a function
return App.Clock.find();
TypeError: App.Clock.find is not a function
return App.Clock.find();
TypeError: App.Clock.createRecord is not a function
Run Code Online (Sandbox Code Playgroud)
这是相关代码:
App.ClocksRoute = Ember.Route.extend({
model: function() {
var locationService = UtilitiesHelper.LocationService.getInstance();
locationService.getLocation(function(location) {
App.Clock.createRecord({
city: location.city,
country: location.country,
latitude: location.latitude,
longitude: location.longitude,
color: '#483D8B',
order: -10
});
});
return App.Clock.find();
}
});
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚新版本中的变化.
在最新版本的Ember Data(Beta 2及更高版本)中,App.Clock.find()您将不得不这样做this.get('store').find('clock').
请仔细阅读Ember Data Beta Transition文档.find在第一部分介绍.
您还需要将您更新createRecord为:
this.get('store').createRecord('clock', {
city: location.city,
country: location.country,
latitude: location.latitude,
longitude: location.longitude,
color: '#483D8B',
order: -10
});
Run Code Online (Sandbox Code Playgroud)
虽然这些可能不是您将代码迁移到最新版本所需的唯一更改.这篇文章也可能有所帮助.
| 归档时间: |
|
| 查看次数: |
483 次 |
| 最近记录: |