0
我正在嘗試自定義網址。emberjs:dynamic url
更具體地說,我已經做的是: mypage.com/details/1
我想要做的是: mypage.com/details/john-doe
當然,我想完全一樣的行爲和現在一樣,唯一的區別是自定義字符串,而不是ID
這裏是我的DS模型
App.Images.FIXTURES = [
{
id:1,
name: "John",
lastName: "Doe",
age: 25,
customUrl: "john-doe"
},
{
id:2,
name: "John",
lastName: "Doe",
age: 31,
customUrl: "john-doe1"
}];
*請注意customUrl屬性是唯一的。
我的路線:
App.Router.map(function(){
this.resource("details", {path: 'details/:image_id'});
});
而且根據HTML:
{{#linkTo 'details' this}}The details{{/linkTo}}
我有哪些選擇?將「this」放入html中會自動獲取ID。我沒有運氣試過this.customUrl(我得到了URL中的「undefined」值)。
謝謝你的幫助!
這實際上做的工作,但如果我再重新加載該頁面,它不會顯示。當我點擊圖片並被重新路由到細節時,它仍然是通過搜索的ID('返回App.Images.find(params.image_id);',json是:'{「image_id」:「1」 }'),儘管我已經實現了序列化函數。所以當用戶重新加載頁面時,json是不同的:'{「image_id」:「john-doe」}'。我怎麼能解決這個問題呢?因爲現在url可以正常顯示,但是如果我只給了我的頁面的url,那麼什麼都不顯示。 –
嘗試使用'query'方法而不是'find'。 'App.Images.query({ 'image_id': '約翰-DOE'})' – wedens