Polymer1:如何在其他属性更改时强制模板筛选器更新

时间:2015-07-25 12:45:58

标签: polymer polymer-1.0

请参考下面的代码,有没有办法在pageNumber更改后强制模板更新?目前,docs仅允许您在使用observe属性更改列表的子属性时更新模板。在这里,我有一个合法的案例,我需要根据列表外的属性更新模板。

<dom-module id="dummy-list">
    <template is="dom-repeat" items="{{getPageListItems(pageNumber)}}" 
              filter="paginateList">
    </template>
</dom-module>
<script>
    Polymer({
        is: 'dummy-list',
        properties: {
            pageNumber: Number,
            pageSize: Number
        },
        paginateList: function(item) {
            var index = this.tableData.indexOf(item);
            var indexOneStart = index + 1;
            var itemRightBound = this.pageNumber * this.pageSize;
            return index +1 >= itemRightBound - this.pageSize && indexOneStart <= itemRightBound;
        }
    });
</script>

1 个答案:

答案 0 :(得分:0)

每当您需要X更新Y更改时,XY无关时,您必须在函数getPageListItems中添加另一个变量检测到更改时会触发。

例如,您可以拥有一个名为YChanged的布尔变量,只要变量Y发生变化,您就可以轻松转换。您的getPageListItems - 函数变为getPageListItems(X, YChanged)

这样,当XYChanged被修改时,将调用该函数。