Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将Vue事件处理程序分配给方法';s返回值_Javascript_Vue.js_Vuejs2_Vue Component - Fatal编程技术网

Javascript 将Vue事件处理程序分配给方法';s返回值

Javascript 将Vue事件处理程序分配给方法';s返回值,javascript,vue.js,vuejs2,vue-component,Javascript,Vue.js,Vuejs2,Vue Component,问题:我需要将vue组件的事件处理程序设置为等于另一个方法的返回值 此JavaScript在单击时运行 方法在单击时调用 ... 函数addToCount(){ 计数+1 } 但这将在单击时调用getAddToCountHandler,而不是addToCount ... 函数getAddToCountHandler(){ 返回函数addToCount(){ 计数+1 } } 下面是我试图做的,一些变量存储在闭包中 ... 函数getHandler(param){ 设storedPa

问题:我需要将vue组件的事件处理程序设置为等于另一个方法的返回值

此JavaScript在单击时运行


方法在单击时调用


...
函数addToCount(){
计数+1
}
但这将在单击时调用
getAddToCountHandler
,而不是
addToCount


...
函数getAddToCountHandler(){
返回函数addToCount(){
计数+1
}
}
下面是我试图做的,一些变量存储在闭包中


...
函数getHandler(param){
设storedParam=param
返回函数(){
存储参数+=1
console.log(storedParam)
}
}

您应该通过添加
()
如下方式运行返回函数:

<input type="button" @click="getAddToCountHandler()()">
let app=new Vue({
el:“应用程序”,
数据:函数(){
返回{
计数:0
}
},
方法:{
getAddToCountHandler(){
让那=这;
返回函数addToCount(){
console.log(that.count)
that.count=that.count+1
}()
}
}
})

{{count}}

对不起,Boussadjra,我的问题不完整。我编辑它是为了为您添加上下文。但确切的问题是什么?查看我添加到问题中的最后一个脚本,我希望在单击处理程序的整个生命周期内保持一个状态。给出答案后,每次单击按钮时,都会重新创建该闭包和处理程序,并重置闭包的状态。
function getAddToCountHandler () {
    return function addToCount () {
        count + 1
    }()
}