目前看来,angular与vue在过滤器方面差异较大,总的来说angular的过滤器较简单方便,vue的过滤器更像是格式转换
vue过滤器设计的目的是用于文本转换
vue过滤器默认把当前参数传过来当做第一个参数,如果需要传递其他参数,其参数肯定是肯定不是第一个参数
如何实现排序与过滤关键词?
估计要添加监听,动态去刷新数据(了解一下keyup延迟触发或者lodash)【监听也可以在angular中使用】
computed: {
filterPhone: function () {
var keyword = this.query.toLowerCase();
var result = this.phones.filter(function (phone) {
if (keyword) {
return (phone.name.toLowerCase().indexOf(keyword) > -1 || phone.snippet.toLowerCase().indexOf(keyword) > -1);
} else {
return true;
}
});
if (this.orderProp === "age") {
result.sort(function (x, y) { return x.age - y.age; });
} else if (this.orderProp === "name") {
result.sort(function (x, y) {
if (x.name > y.name) {
return 1;
} else if (x.name < y.name) {
return -1
} else {
return 0;
}
});
}
return result;
}
}
vue vue.js
网友评论