我有一個「過濾器」模型,用戶可以通過點擊頁面來改變這個模型。過渡到相同的模型相同的路線
因此,當用戶對模型進行更改時,我想轉換到他當前所在的路由,因爲URL根據模型的細節而有所不同(我已在路線上重寫了「serialize」以確保是這種情況)。
現在看來,Ember似乎無視我的請求,轉而使用相同型號的同一條路線。模型被改變了,我的模板也發生了變化,但是我希望URL也能反映到Filter的變化。
我該怎麼做?
編輯:
這裏是我的ApplicationController代碼現在
App.ApplicationController = Ember.Controller.extend
currentFilter: null
actions:
toggleRegion: (region_id) ->
region = this.store.getById('region', region_id)
filter = this.get('currentFilter')
# modify the filter
if filter.containsAtLeastOneCityOfRegion(region)
filter.disableRegion(region)
else
filter.enableRegion(region)
this.replaceRoute('listings', filter)
,此按預期工作時,我在「指數」的路線,但如果我已經在「清單」路線,模型按預期進行了修改,但路線替換沒有發生,因此,我的URL沒有使用正確的動態段更新(來自我的ListingsRoute的「序列化」方法)。
請添加您的代碼。 – Pheonix
您是否在使用transitionToRoute(http://emberjs.com/api/classes/Ember.Controller.html#method_transitionToRoute)傳遞新模型? –
在我的代碼中看到,我現在使用「replaceRoute」,但傳遞相同(但已修改)的模型對象。 – elsurudo