Vue.js 从筛选器访问组件方法
我有一个用户管理页面,可以在其中搜索用户并返回列表 我希望能够根据角色筛选列表 到目前为止,我已经: 我无法从筛选器方法访问用户对象上的方法。我做错了什么Vue.js 从筛选器访问组件方法,vue.js,Vue.js,我有一个用户管理页面,可以在其中搜索用户并返回列表 我希望能够根据角色筛选列表 到目前为止,我已经: 我无法从筛选器方法访问用户对象上的方法。我做错了什么 filters: { roleFilter: function(users) { var self = this; if( this.roleFilter == 'all') { return users; } return users.fil
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);
});
}
}
在一些人的帮助下,我现在有以下几点:
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);
});
}
事实证明,在将数据转换为组件之前,过滤器会在数据上运行,因此您需要手动执行此操作以访问组件方法。通过一些^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);
});
}
事实证明,在将数据转换为组件之前,过滤器会在数据上运行,因此您需要手动执行此操作以访问组件方法