对数组中的条件使用 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-repeat
的 filter/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)。
在 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-repeat
的 filter/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)。