【问题标题】:Ember Route transition, prevent templates destroy.Ember Route 过渡,防止模板破坏。
【发布时间】:2015-01-12 08:25:00
【问题描述】:

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

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

应用程序.hbs

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

index.hbs

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

汽车.hbs

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

flights.hbs

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

汽车和航班是关闭选项卡(链接),点击时我使用链接加载相应的路线 域/应用程序/#/航班
在 index.hbs 出口中加载航班 hbs,然后在 application.hbs 出口中加载。 当用户点击汽车时,网址会更改为
domain/app/#/cars 并在 index.hbs 插座中加载cars.hbs。

但是当这种转换发生时,航班渲染的模板连同它拥有的所有组件以及相应的组件类对象和汽车模板以及它的所有组件都会被渲染。没关系。

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

每次用户在标签之间移动时,创建这些标签的内容都是很昂贵的(客气了)。

问题:当用户点击这些链接并显示/隐藏内容时,是否应该仅将其实现为选项卡面板而不更改 url(不使用链接,仅操作)? 或者

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

谢谢

【问题讨论】:

    标签: ember.js


    【解决方案1】:

    此时你不能保持你的视图/组件在路由改变时呈现。您只能预先渲染它,然后在使用ember query params 之间切换。看一眼 http://emberjs.com/guides/routing/query-params/ 和 https://github.com/instructure/ic-tabs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-25
      • 1970-01-01
      • 1970-01-01
      • 2015-07-06
      • 2012-06-12
      • 2014-01-01
      • 2014-01-09
      • 1970-01-01
      相关资源
      最近更新 更多