2013-10-07 40 views
0

我想創建一些類似於Stackoverflow與分享按鈕相似的內容:我想爲共享創建一個簡短鏈接。現在,我的鏈接可以採取以下3種形式:帶有部分解釋路由的Emberjs路由器

s/51b9dd49065f905411000000/1 
s/51b9dd49065f905411000000/51b9dd49065f905411000020/2 
s/51b9dd49065f905411000000/51b9dd49065f905411000020/51b9dd49065f905611000020/3 

我怎樣才能讓燼解釋路線只有等到s/然後給我剩下的一些參數,所以我可以處理它,重建正確的路線?

回答

1

您可以使用星號段。這是記錄here

鑑於此應用程序:

App.Router.map(function() { 
    this.route('share', { path: 's/*linkPath' }) 
}); 

App.ShareRoute = Ember.Route.extend({ 
    model: function(params) {  
    console.log(params.linkPath); 
    return params; 
    } 
}); 

當網址開頭是s/與任何結束。剩餘的值將被設置爲一個名爲linkPath的變量。

例如:

URL       => params.linkPath content  
------------------------------------------------------------- 
s/51b9dd49065f905411000000/1 => "51b9dd49065f905411000000/1" 
s/hey/ho/lets/go    => "hey/ho/lets/go" 

所以在模型中勾,你可以得到的剩餘參數,使用params.linkPath

您可以在jsbin http://jsbin.com/OrEhAso/3/#/s/51b9dd490/51b9dd490/3中看到此操作。打開控制檯,你將會記錄字符串「51b9dd490/51b9dd490/3」。