如下代码所示,我写了一个指令,获取到xxx.vue组件里对应的div后,能根据传过来的参数,在一定条件以后触发xxx.vue组件里面的某个方法
我是这样写的:
Vue.directive('loadStatus', {
inserted: function (el, binding) {
console.log(el);
console.log(binding)
if(!binding) return;
if(binding.value.status === 'fail') {
//加载失败
binding.value.status.statusFn();
}
}
});
<template>
<div v-load-status="{status:'fail',statusFn:test}"></div>
</template>
<script>
export default{
methods:{
test() {
console.log('触发了test');
}
}
}
</script>
但是执行后报错:
vue.esm.js?a026:628 [Vue warn]: Error in directive load-status inserted hook: "TypeError: binding.value.status.statusFn is not a function"
那我该怎么触发这个test方法呢