[英]From Ember Pre1 to Pre4: Multiple dynamic segments per route? Update: What is the allowed syntax for dynamic segments?
我目前正在嘗試將基於pre1的Ember遷移到當前版本pre4。 在我的pre1代碼中,我定義了一條路線,如下所示:
formCreated : Ember.Route.extend({
route : '/genre=:genre/sorting=:sorting/location=:location/range=:range/time=:date/:timeFrame',
....
})
這條路線對我來說效果很好,但是現在我正在努力用pre4模仿這種行為。 這是我的方法:
App.Router.map(function() {
this.route("/");
this.route("formCreated", { path: "/genre=:genre/sorting=:sorting/location=:location/range=:range/time=:date/:timeFrame" });
});
App.FormCreatedRoute = Ember.Route.extend({
serialize: function(context, params){
// here i am returning a hash containing all the dynamic segments
}
});
怎么了? 當應用進入狀態時,URL無法正確更新。 我看到這個結果:
/ genre =:類型/排序=:排序/位置=:位置/范圍=:范圍/時間=:日期/ 6:00-19:00
因此,我的大部分動態細分都不會得到更新。 我確保我的自定義序列化方法返回一個適當的哈希對象,其中為每個動態段設置了一個屬性。
在pre4中,每條路線是否仍有多個動態細分,還是我必須切換到某些路線嵌套方法或類似方法?
更新:找到根本原因:我剛剛發現錯誤是由於我使用該路由的語法而發生的。 我將其更改為以下內容(將“ =”替換為“ /”):
this.route("formCreated", { path: "/genre/:genre/sorting/:sorting/location/:location/range/:range/time/:date/:timeFrame" });
是否有關於如何構建路徑的任何文檔? 自ember-pre1起,語法似乎已更改。 我希望有一個用戶友好的URL,並且許多斜杠使閱讀變得困難。 還是一個規則,即一個段始終必須以“:/”開頭?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.