els*_*udo 6 ember.js ember-router
我有一个"过滤器"模型,用户可以通过单击页面来更改此模型.
因此,当用户对模型进行更改时,我想转换到他当前所在的相同路径,因为URL根据模型的详细信息而有所不同(我已在路由上覆盖"序列化"以确保此是这样的).
现在的情况是,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)
Run Code Online (Sandbox Code Playgroud)
现在,当我处于"索引"路径时,这可以正常工作,但如果我已经在"列表"路径中,模型将按预期修改,但路由替换不会发生,因此,我的URL不会更新使用正确的动态段(来自我的ListingsRoute的"序列化"方法).
如果你想转换到(或替换,就像我的情况一样)到你所在的同一路线,并且使用与当前模型具有相同身份的模型对象,看起来 Ember 会执行无操作。
所以我需要做的是克隆对象,进行所需的更改,然后进行转换。
| 归档时间: |
|
| 查看次数: |
1054 次 |
| 最近记录: |