當在句柄模板中使用linkTo helper時,Ember通過已添加到路由的序列化程序的幫助設置鏈接的正確URL:Ember(data)linkTo不通過模型,只取得新模型
serialize: function(slug, params) {
var name, object;
object = {};
name = params[0];
object[name] = slug;
return object;
}
當我單擊鏈接時,Ember轉換到正確的頁面,並顯示正確的slug和所有內容,但它沒有正確的數據,並且它說。我相信這是因爲我傳遞給我的linkTo語句作爲第二個參數只是slu and而不是整個模型。
是否有可能讓Ember簡單地獲取數據,就像我只是在地址欄中鍵入URL一樣,而不是依賴於傳遞給linkTo語句的模型(不是)?
UPDATE 我已經嘗試過在我的路線上的激活方法,但現在看來問題是渲染必須等到完成。
activate: function() {
this.context.isLoaded = false;
this.model(this.context.query.slug);
}
任何想法?也許即使有一個更漂亮的解決方案?
該方法現在被稱爲查詢正確,是DS.Store.findQuery的別名,是嗎?反正 - 那該怎麼辦?問題不在於找不到任何東西。問題是,如果路線具有動態分段並且正在通過例如轉移到路線模型方法,則不執行路線模型方法。 linkTo幫助器,這是我想要改變,所以它*總是*得到執行。 – chrisbuchholz
是的,修正了這個問題。 –
通過url的路徑通過模型鉤子獲取它的模型,並通過直接通過setupController的render/linkTo helper,跳過模型鉤子。在這兩種情況下,路線仍然會得到它的模型。或者我不明白這個問題嗎? –