通过更改基础数组

时间:2015-06-11 20:56:28

标签: javascript dom polymer polymer-1.0

如果底层数组得到更新,是否有Polymer dom api方法或其他方法自动更新带有其他元素的重复模板?

我有一个动态数组,可以通过ajax调用重复更新。此数组不断更改其长度(根据ajax响应逐步追加或删除元素)。该数组通过<template is="dom-repeat">反映在文档中。有没有办法在底层数组更新时自动更新dom?

目前,我能看到的唯一方法是

  1. 识别增量更新并手动添加或删除节点。
  2. 删除整个重复模板容器并重新放大新模板。无论如何我也不知道动态标记新模板。这可能吗?我可以想到实现这一点的另一种方法是使另一个自定义元素重复模板标记,每当有数组更新时,删除当前元素,通过将更新的数组传递给元素来追加新元素。
  3. 通过使用2,我将无法使用视图中自动更新列表的过渡效果。我希望能够使用这些效果。

1 个答案:

答案 0 :(得分:24)

如果使用this.push('myarray', {item});更新数组,则会触发Polymer的绑定观察者。更多信息在https://www.polymer-project.org/1.0/docs/devguide/properties#array-mutation

的文档中