從'工作'路線我試圖轉換到'職業'路線使用下面的代碼。emberjs:transitionToRoute錯誤沒有方法'addArrayObserver
<script type="text/x-handlebars" data-template-name="job">
<button {{action 'backToCareers' this}}>Back</button>
</script>
與下列控制器給出 '未捕獲的類型錯誤:對象#沒有方法 'addArrayObserver'' 錯誤。
CareerApp.JobController = Ember.ObjectController.extend({
backToCareers: function(){
this.transitionToRoute('careers');
}
});
如果我改變代碼(見下文),以提供模型對象中的誤差變爲「未捕獲更多的上下文對象被傳遞之外還有用於路線動態片段:職業」
CareerApp.JobController = Ember.ObjectController.extend({
backToCareers: function(){
var jobs = CareerApp.Job.findAll();
this.transitionToRoute('careers', jobs);
}
});
以下是我的模型的代碼和路由器
CareerApp.Job = Ember.Model.extend({
refNo: '',
title: ''
});
CareerApp.Job.reopenClass({
findAll: function(){
return $.getJSON("http://site/jobs").then(
function(response){
var jobs = Ember.A();
response.forEach(function(child){
jobs.pushObject(CareerApp.Job.create(child));
});
return jobs;
}
);
}
});
路由器代碼
CareerApp.Router.map(function(){
this.resource('careers', {path: '/'});
this.resource('job', {path: '/jobs/:job_id'});
});
CareerApp.CareersRoute = Ember.Route.extend({
model:function(){
return CareerApp.Job.findAll();
}
});
CareerApp.CareersController = Ember.ArrayController.extend({
gradJobCount: function() {
return this.filterProperty('isExp', false).get('length');
}.property('@each.isExp')
});
其中是'CareersRouter'? – wedens
「職業生涯」路線不包含任何動態細分,因此this.transitionToRoute('careers');是要走的路。用CareerApp.CareersRoute更新這個問題。 – andrei1089
我已添加CareersRoute和CareersController的代碼 – amique