如何在Polymer元素中更改bool属性时使用sort重新运行dom-repeat

时间:2015-11-10 10:06:38

标签: javascript polymer

如果我的元素中的某些内容发生了变化,或者我想从代码中自动修改,那么如何重新运行sort和render元素呢?谢谢

<template is="dom-repeat" items="[[attachments]]" as="attach_item" sort="_sortItems"></template>

1 个答案:

答案 0 :(得分:2)

您需要为要观看的字段设置观察者。

引自聚合物文档:

默认情况下,过滤器和排序函数仅在数组本身发生变异时运行(例如,通过添加或删除项目)。

要在项目的某些子字段发生更改时重新运行过滤器或排序函数,请将observe属性设置为以空格分隔的项目子字段列表,这将导致列表重新过滤或重新排序

示例:

<template is="dom-repeat" items="{{employees}}"
filter="isEngineer" observe="type manager.type">

此处有更多信息:https://www.polymer-project.org/1.0/docs/devguide/templates.html#filtering-and-sorting-lists

PS:您需要使用this.set(“array.index.field”,value)设置字段,否则将不会通知您的观察者