在docs中,它声明您可以将各种参数传递给指令。
所以我想传递一个值:
v-my-directive="test"
但我收到错误:
Property or method "test" is not defined on the instance but referenced during render
如何将字符串传递给指令?
答案 0 :(得分:2)
该值是常规JavaScript表达式。这样,如果你想传递一个字符串,比如'test'
,请使用:
v-my-directive="'test'"
演示:
Vue.directive('my-directive', function (el, binding) {
console.log('directive expression:', binding.value) // => "test"
})
new Vue({
el: '#app',
data: {
message: 'Hello Vue.js!'
}
})
<script src="https://unpkg.com/vue"></script>
<div id="app">
<p>{{ message }}</p>
<div v-my-directive="'test'"></div>
</div>
答案 1 :(得分:1)
您必须引用该字符串,否则它将在您的组件上下文中查找def myfunct(arg):
arg = copy.deepcopy(arg)
arg.x += 1
return arg
变量(test
或props
):
data
在自定义指令中,您可以像v-my-directive="'test'"
:
binding.value
请参阅指南的Custom Directives章节。