是否可以在不重新创建路由视图的情况下更新当前路由的 URL 中的动态参数?
具体来说,假设我有一条处理post/:post_id
. 这条路线的视图显示了给定的帖子,id
但(以无限滚动样式)还允许用户平滑地向下滚动到后续帖子。我想更新网址以反映他们当前正在查看的帖子。如果我调用钩子触发,我reaplceWith('post', newlyFocusedPost)
的renderTemplate
原始视图将被破坏,呈现一个新视图,并且失去平滑度。
我喜欢 Backbone.js 的等价物:
router.navigate('posts/123', {navigate:false, replace:true});
另一个解决方案是,如果将相同的模板渲染到相同的插座中,则重用现有视图并更新其绑定。
(我当前的解决方案是使用子路由 ,postAtId
它处理没有视图的动态 id 以及对 的调用controllerFor('post').set('content', newPost)
)