Документация для этой библиотеки довольно запутанная, но я думаю, что для использования директивы v-role
вам необходимо настроить глобальное правило .
// remove the "pages" subject
acl.rule("normal", ({ role }) => role === "normal");
Demo ~ https://codesandbox.io/s/upbeat-lake-p1ndn
Для того, чтобы использовать строковые объекты, существуют некоторые правила сортировки строк, которые вы должны соблюдать. Либо используйте Pascal имена, такие как "Pages"
, либо настройте ACL для использования режима простого регистра
Vue.use(Acl, user, acl => {
acl.rule("normal", ({ role }) => role === "normal");
acl.rule("view", "pages");
}, {
caseMode: false // ? configure plain case mode
});
<div v-role:normal>Normal role can view</div>
<div v-can:view="'pages'">Can view pages</div>
См. https://github.com/mblarsen/vue-browser-acl#casemode