关于angular与vue在过滤器方面的不同

目前看来,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;

        }

    }



13908708-fc8d6633342812c4.png
vue
13908708-bc30ae4af7efffda.png
vue.js