从过滤器访问组件方法

Access component method from filter

我有一个用户管理页面,我可以在其中搜索用户,return 一个列表。

我希望能够根据角色筛选列表。

到目前为止我有:http://laravel.io/bin/VPlYz

我无法从过滤方法访问用户对象的方法。我做错了什么?

filters: {
    roleFilter: function(users) {
        var self = this;

        if( this.roleFilter == 'all') {
            return users;
        }

        return users.filter(function(user) {
            // hasRole is reported undefined!
            user.hasRole(self.roleFilter);
        });
    }
}

在一些^H 的帮助下,我现在有以下内容:

filters: {
    roleFilter: function(users) {
        var self = this;

        if( this.roleFilterModel == 'all') {
            return users;
        }

        return users.filter(function(userData) {
            // Convert the passed in data to a component
            var user = new self.$options.components.user({
                data: userData
            });
            return user.hasRole(self.roleFilterModel);
        });
    }

原来过滤器是在数据上运行的,在它被转换成组件之前,所以你需要手动执行此操作以访问组件方法。