这就是我可以在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文档中有什么我想念或错过的东西吗?现实世界中示例的任何直观方式?
我希望我能正确理解您,但这可能是您想要的样板:
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>
或您的情况:
<custom-element v-demo="() => {this.$emit('change', 'test', true)}" />
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句