Я пытаюсь реализовать CASL с vuex и Nuxt. У меня возникает проблема при попытке инициализировать правила способности, когда мое приложение запускается, и я уже вошел в систему.
По сути, я хотел бы получить правила и обновить экземпляр Ability при запуске приложения. Однако, когда я пытаюсь получить правила из магазина, он возвращает null
. На данный момент мне нужно выйти и войти, чтобы получить правила.
store /ility.js
import ability from '../config/ability'
export const updateAbilities = store => {
ability.update(store['users/getRules']) // this does not work and returns null
return store.subscribe(mutation => {
if (mutation.type === 'users/setRules') {
ability.update(mutation.payload)
}
})
}
config /ability.js
import { Ability } from '@casl/ability'
export default new Ability()
store / index.js
import { updateAbilities } from './ability'
export const plugins = [updateAbilities]
Спасибо за вашу помощь.