如何在网址中保存应用状态

时间:2013-10-23 18:56:50

标签: ember.js

我在我的Ember App中创建了一个带有一些新闻的滑动面板; 我希望面板的状态(打开或关闭)保存在URL中;

例如,当我在页面上时,我希望如此:

domain.com/home 

我打开面板,URL变为

domain.com/home/panel 

(或类似的东西)和面板模板在面板插座中呈现(将主页模板保留在主插座中)

这可能吗?

1 个答案:

答案 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。它仅在转换期间更新。