Vue 自定义指令使用任意字符串?
场景
Vue 自定义指令官方文档
自定义了一个权限指令,吾辈仅仅只是需要指令中的字符串,但 vue 解析指令时会抛出错误。有没有什么方式,让 vue 不把指令中的字符串当作表达式解析,而仅仅认为它是一个字符串呢?
如下,定义了一个指令
Vue.directive('realm', {
bind(el, {expression}) {
const result = expression.split(',').map(s => s.trim())
.filter(s => rx.stringValidator.isEmpty(s))
.every(s => realmSet.has(v))
if (!result) {
el.style.display = 'none'
}
},
})
使用指令
<a
href="javascript:void(0);"
@click="addInfo"
class="add"
v-realm="system-configuration:sys-domain-category:edit"
><i class="add_ico"></i>新增</a>
然后就炸了。。。抛出异常
[Vue warn]: Error compiling template:
invalid expression: Unexpected token : in
system-configuration:sys-domain-category:edit
Raw expression: v-realm="system-configuration:sys-domain-category:edit"
加个冒号