如何在Vue事件中使用处理程序生成器

时间:2019-01-18 23:04:39

标签: java vue.js vuejs2

全部:

我想知道如何在事件处理程序上运行事件处理程序生成器功能,例如:

<button @click="buildHandler()">Click</button>

function buildHandler(){
    return function(){
        alert("button clicked")
    }
}

既然Vue事件处理程序接受带/不带括号的两种事件处理程序格式,我想知道如何实现我的处理程序构建器?

谢谢

1 个答案:

答案 0 :(得分:1)

您应在模板中添加(),例如:

  <button @click="buildHandler()();">Click</button>

以执行返回的功能。

Vue.config.devtools = false;
Vue.config.productionTip = false;

new Vue({
  el: '#app',
  methods: {
    buildHandler() {
     
      return function() {
        console.log("button clicked");
      };
    }
  }
});
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>

<div id="app">
  <button class="btn btn-primary" @click="buildHandler()();">Click</button>
</div>