对数组中的条件使用 dom-if

Using dom-if for conditionals in arrays

在 0.5 中,我可以使用 dom-if 到 select 中的表达式来处理数组中的某些内容,同时循环遍历它们。我怎样才能在 1.0 中实现相同的效果?

您使用的函数类似于

hasPersonLabel: function (labels) {
    if (labels.indexOf("Person") === -1) {
        return false
    }
    return true
}

然后你可以使用

<template is="dom-repeat" items="{{records}}">
    <template is="dom-if" if="{{isPerson(item.labels)}}">

使用 dom-repeatfilter/observe 特性比嵌套 dom-if 更有效。 filter 指定一种方法来识别要从您的集合中显示的记录,observe 告诉 dom-repeat 要观察哪些数据以了解何时重新 运行 过滤器。例如

<template is="dom-repeat" items="{{records}}" filter="hasPersonLabel" observe="item.labels">
...
hasPersonLabel: function (labels) {
    return (labels.indexOf("Person") >= 0);
}

文档在这里 (https://www.polymer-project.org/1.0/docs/devguide/templates.html#filtering-and-sorting-lists)。