我在學習ember.js和ember-cli時遇到了很多困難,主要是試圖將ember.js的幫助文檔翻譯成ember-cli環境。我一直在試圖弄清楚如何使用除'id'之外的字段的動態段。Ember和Ember-cli動態路由問題
在Emberjs.com它給出了一個使用jQuery.getJSON和序列化功能的例子,但我不知道
1)如何從灰燼-CLI參考的jQuery(如果我甚至需要做到這一點的上面的鏈接說來),並
2)好像不管我怎麼努力,我得到的錯誤
我目前使用transitionToRoute
「不能打電話的‘未定義’GET方法」在我的序列化功能因爲我試圖從一個按鈕而不是link-to
幫手轉換(更好的建議非常好來)。
這裏的行動我的按鈕使用(這是在控制器):
actions: {
viewDetails: function() {
this.transitionToRoute('project-details', this.get('projectName'));
}
}
如果我的路線是:
this.resource('project-details', {path: '/project/:project_projectName'});
然後灰燼文檔建議,這是在我的項目細節路線中需要什麼,但是我沒有得到序列化程序的任何組合,所以我確信我做錯了什麼,但我不知道是什麼。
model: function(params) {
//I've tried all kinds of things in here, not sure if I need getJSON
// since right now I'm just using fixture data
//If I do need jQuery, not sure how to use it in ember-cli (i.e. the import statement to use)
return jQuery.getJSON('/project/' + params.project_projectName);
},
serialize: function(model) {
return { project_projectName: model.get('projectName') };
}
編輯:添加模型
var Project = DS.Model.extend({
creationDate: attr('date'),
lastModifiedDate: attr('date'),
lastModifiedResourceId: attr('string'),
ppmcNumber: attr('number'),
ppmcUrl: attr('string'),
phase: attr('string'),
staffingProfile: attr('string'),
projectType: attr('string'),
projectDesc: attr('string'),
product: attr('string'),
clientId: attr('string'),
clientName: attr('string'),
overallStatus: attr('string'),
liveDate: attr('date'),
rygStatus: function(){
return 'status-' + this.get('overallStatus').toLowerCase();
}.property('overallStatus')
});
定義了「projectName」的位置?我假設這個錯誤是因爲「get」沒有找到它的值。 – Grapho 2014-08-27 13:13:48
@Grapho:項目名稱在項目模型上定義。該錯誤是說它不能訪問「未定義」的「get」方法,我認爲它不知道模型是什麼,所以它不能執行get方法。 – redOctober13 2014-08-27 13:57:42
我有點困惑,你的模型是燼數據,但你使用$ .getJSON。你什麼時候創建/使用該燼數據模型? – Kingpin2k 2014-08-27 23:30:14