我有带有 vuejs 前端 SPA 的 laravel 8 应用程序,每个用户都有一个具有权限的角色登录后我检索经过身份验证的用户的权限并将它们存储在 vuex 商店中。
我想从 api 返回的数组中定义能力
import { mapState } from "vuex";
export default {
name: "Dashboard",mounted() {
console.log(this.permissions);
this.$ability.define([{ subject: "all", actions: this.permissions }]);
console.log(this.$ability);
},
computed: {
...mapState("PermissionsStore", ["permissions"]),
},
};
但我面临这个错误
Error in mounted hook: "TypeError: Cannot read property 'define' of undefined"
我如何定义 vuex 商店的能力?我想使用这样的权限:
@can('manage_user') or @can('update_order')