这是我在Vue.js中制作自定义函数指令的方法:
<custom-element v-sample="doSomething" />
export default {
...
methods: {
doSomething() {
// do magic
}
}
}
指令代码如下:
Vue.directive('sample', {
bind: functrion(el, binding) {
el.addEventHandler('anyevent', () => {
return binding.value()
})
}
})
现在我想要实现的是,用这样的参数传递函数:
<custom-element v-sample="$emit('change', 'test', true)" />
在Vue文档中是否有任何我错过阅读或观看的内容?任何直观的方式与现实世界的例子?
答案 0 :(得分:0)
我希望我能正确理解你,但这可能是你想要的样板:
@RequestScoped
模板:
Vue.directive('demo', function (el, binding) {
// Add any event listener here that you want
el.addEventListener('touchstart', () => {
// Execute the function bound to the directive
binding.value()
})
})
const app = new Vue({
el: '#app',
})
或者在你的情况下:
<div id="app">
<h1 v-demo="() => {alert('hello')}">Click me for alert</h1>
</div>