缓存模板中的元素

时间:2014-03-14 13:32:13

标签: polymer

我的主元素使用flatiron-element来重定向我的用户:

....
<template if="{{route != null}}">
  <template if="{{route == 'home' || route == ''}}">
    <home-element structure="{{home}}"></home-element>
  </template>
  <template if="{{route == 'research'}}">
    <research-element structure="{{research}}"></research-element>
  </template>
  <template if="{{route == 'highlights'}}">
    <!-- <highlights-element></highlights-element> -->
  </template>
</template>
....

每次我更改{{route}}时,都会重新创建元素。有没有一种很好的方法来缓存它,所以如果以前加载它们我们不必重新加载它?

由于

1 个答案:

答案 0 :(得分:0)

您所看到的是Polymer的模板系统根据需要实例化每个元素。当您循环路由时,它会添加/删除DOM中的元素。下一次回合时,数据绑定系统会标记出该元素的新实例。这也意味着created()ready()再次被调用&#34;&#34;。

一种选择是使用<polymer-ui-pages>http://www.polymer-project.org/docs/elements/polymer-ui-elements.html#polymer-ui-pages

另一种方法是在CSS中显示/隐藏元素(而不是使用条件模板):http://jsbin.com/zeyoyisu/2/edit