在自定义函数指令中添加带有args的内联函数

时间:2018-01-22 11:21:12

标签: javascript ecmascript-6 vue.js vuejs-directive

这是我在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文档中是否有任何我错过阅读或观看的内容?任何直观的方式与现实世界的例子?

1 个答案:

答案 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>