我的主元素使用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}}时,都会重新创建元素。有没有一种很好的方法来缓存它,所以如果以前加载它们我们不必重新加载它?
由于
答案 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