使用 Angular ES5 创建过滤器
Using Angular ES5 to create filters
我在 ES5 中使用 Angular v 4.4.4 创建了一个项目,但我在制作管道过滤器来过滤 table 结果时遇到困难(*ngFor 用于填充 table).我到处搜索,找不到例子。这可能吗?如果可以,有人可以给我举个例子吗?
这是我迄今为止不完整的代码尝试
var SearchFilter = ng.core
.Pipe({
name: "searchFilterTable"
})
.Class({
constructor: function SearchFilter () {},
transform: function() {
}
});
找到解决方案:
ES5
var SearchFilter = ng.core.Pipe({
name: "searchFilterTable"
})
.Class({
constructor: function SearchFilter () {},
transform: function(elements, string) {
console.log(elements);
console.log(string);
return elements.filter(
item => item.name.toLowerCase().indexOf(string.toLowerCase()) !== -1);
}
});
Html
<tr *ngFor='let gateway of gateways | searchFilterTable:keyword'>
<td class="special-td">{{ gateway.name }}<br><a>(edit)</a></td>
<td class="special-td">{{ gateway.type }}</td>
<td class="special-td">{{ gateway.forwardingAddress }}</td>
<td class="special-td copy">{{ gateway.key }}</td>
<td class="special-td"></td>
</tr>
确保将管道添加到您的 declarations/imports
我在 ES5 中使用 Angular v 4.4.4 创建了一个项目,但我在制作管道过滤器来过滤 table 结果时遇到困难(*ngFor 用于填充 table).我到处搜索,找不到例子。这可能吗?如果可以,有人可以给我举个例子吗?
这是我迄今为止不完整的代码尝试
var SearchFilter = ng.core
.Pipe({
name: "searchFilterTable"
})
.Class({
constructor: function SearchFilter () {},
transform: function() {
}
});
找到解决方案:
ES5
var SearchFilter = ng.core.Pipe({
name: "searchFilterTable"
})
.Class({
constructor: function SearchFilter () {},
transform: function(elements, string) {
console.log(elements);
console.log(string);
return elements.filter(
item => item.name.toLowerCase().indexOf(string.toLowerCase()) !== -1);
}
});
Html
<tr *ngFor='let gateway of gateways | searchFilterTable:keyword'>
<td class="special-td">{{ gateway.name }}<br><a>(edit)</a></td>
<td class="special-td">{{ gateway.type }}</td>
<td class="special-td">{{ gateway.forwardingAddress }}</td>
<td class="special-td copy">{{ gateway.key }}</td>
<td class="special-td"></td>
</tr>
确保将管道添加到您的 declarations/imports