Ember Route转换,防止模板破坏。

时间:2014-11-14 20:46:50

标签: ember.js

这就是我在app.js中的内容。带航班的索引航线&汽车作为嵌套路线。

this.resource('index',{ path: '/' }, function(){
    this.route('flights');
    this.route('cars');
});

application.hbs

<div class="main">
    {{outlet}}
</div>

index.hbs

..some html here...
{{outlet}}
..some html...

cars.hbs

{{#some-component1}}
{{/some-component1}}

flights.hbs

{{#some-component2}}
{{/some-component2}}

汽车和航班是标签(链接)的好消息,点击后我使用link-to加载相应的路线 的域/应用/#/航班
    在index.hbs出口加载航班hbs,然后在application.hbs outlet中加载。     当用户点击汽车网址更改为
域/应用/#/汽车 并在index.hbs outlet中加载cars.hbs。

但是当这种转变发生时,飞行渲染模板以及它拥有的所有组件以及相应的组件类对象和汽车模板及其所有组件都被渲染。哪都好。

现在,当用户返回(点击航班链接)航班时,将重新创建和渲染所有航班组件/模板。

每次用户在标签之间移动时,这些标签的内容都很昂贵(关闭)。

问题:当用户点击这些链接并显示/隐藏内容时,是否应该像标签面板一样实现并且不更改网址(不使用链接,只是操作)? 或者

应该以URL方式完成吗?如果是的话,有没有办法让ember不破坏插座中先前渲染的模板?

由于

1 个答案:

答案 0 :(得分:2)

此时,您无法在路线更改时保留您的视图/组件。您只能事先渲染它,然后使用ember query params切换。看一眼 http://emberjs.com/guides/routing/query-params/https://github.com/instructure/ic-tabs