我在我的Ember App中创建了一个带有一些新闻的滑动面板; 我希望面板的状态(打开或关闭)保存在URL中;
例如,当我在页面上时,我希望如此:
domain.com/home
我打开面板,URL变为
domain.com/home/panel
(或类似的东西)和面板模板在面板插座中呈现(将主页模板保留在主插座中)
这可能吗?
答案 0 :(得分:0)
简短的回答是否定的。
我的答案中有一个很长的答案:Ember.js: Howto create routes that only execute code
真正的问题是route
会在哪里生活?如果它位于根部,当您切换其可见状态时,您将必须转换路径。然后将离开任何更深的路线,然后去那条路线。
App.Router.map(function() {
this.route('slideOut', {path:':is_visible'});
this.resource('foo', function() {
this.resource('foo.bar', { path: '/bar' }, function() {
this.route('baz'); // This will be foo.bar.baz
});
});
});
现在您可能想知道,为什么我不能在slideOut模型上更新属性is_visible(如果它是顶级资源)。问题是,更新模型上的ID不会更新URL。它仅在转换期间更新。