全部:
我想知道如何在事件处理程序上运行事件处理程序生成器功能,例如:
<button @click="buildHandler()">Click</button>
function buildHandler(){
return function(){
alert("button clicked")
}
}
既然Vue事件处理程序接受带/不带括号的两种事件处理程序格式,我想知道如何实现我的处理程序构建器?
谢谢
答案 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>