如何更新dom-repeat模板以在localstorage中显示新添加的项目?

时间:2015-09-19 00:48:45

标签: javascript polymer polymer-1.0

   <template id="repeat" is="dom-repeat" items="[[model]]" as="day">
       <component model="[[day]]"></component>
   </template>

我正在使用铁本地存储来加载数据[[model]]。 使用localStorage.setItem(...)更新数据时,如何让模板更新并显示新添加的对象?

现在,新对象仅在页面刷新后显示,因为它将重新加载本地存储。

我尝试使用另一个stackoverflow帖子所说的this.$.repeat.render(),但没有做任何事情。

1 个答案:

答案 0 :(得分:0)

我会使用的模式是:

<template>

    <iron-localstorage name="my-app-storage" value="{{model}}" on-iron-localstorage-load-empty="initializeDefaultValue"></iron-localstorage>

    <template id="repeat" is="dom-repeat" items="[[model]]" as="day">
        <component model="[[day]]"></component>
    </template>

</template>

然后,当您想要更新localstorage时,只需更新对象because

  

iron-localstorage会在更改值时自动将值保存到localStorage。请注意,如果value是对象,则仅当value是不同的实例时才会触发自动保存。

this.set('model', model);