Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.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.js-在输入字段处理程序上动态应用方法_Javascript_Vue.js_Vuejs2_Vue Component - Fatal编程技术网

Javascript Vue.js-在输入字段处理程序上动态应用方法

Javascript Vue.js-在输入字段处理程序上动态应用方法,javascript,vue.js,vuejs2,vue-component,Javascript,Vue.js,Vuejs2,Vue Component,我正在使用Vue.js,而且我是新手。我使用v-for动态创建标记。另外,我使用的是v-model和v-bind,这是我想要的 但我也尝试对每个输入字段应用不同的方法。我正在尝试类似于@input=“event.methodToApply”的方法,这些方法将regex应用于输入字段值。我认为这对这个问题并不重要。但我不知道如何在每个领域应用不同的方法 或者,如果可能的话,给这个方法一个参数,这样我就可以解决方法内部的问题了 <div class="case" v-for="event in

我正在使用Vue.js,而且我是新手。我使用v-for动态创建
标记。另外,我使用的是v-model和v-bind,这是我想要的

但我也尝试对每个输入字段应用不同的方法。我正在尝试类似于
@input=“event.methodToApply”
的方法,这些方法将regex应用于输入字段值。我认为这对这个问题并不重要。但我不知道如何在每个领域应用不同的方法

或者,如果可能的话,给这个方法一个参数,这样我就可以解决方法内部的问题了

<div class="case" v-for="event in this.myEvents">
    <input
        v-model="event.value"
        @input="event.methodToApply"  <-- this is how I would approach it but it obviously does not work
        type="text"
        v-bind:title="event.name"
        name="performance"
        class="form-row-right-part-first-element"
    />
</div>

在vue中,您可以使用
$event
访问
事件
值,此外,您还可以在
v-for=“(item,index)In items”
中使用索引,然后您可以简单地从方法数组中引用方法,而不是将所有内容保留在同一对象上,除非您当然想…

尝试将方法名称传递给名为
调用的方法:

@input="call(event.methodToApply)" 
在您的方法中:

methods:{
  call(methodName){
    this[methodNam]();
   },
 formatEventOne(){
...
},
formatEventTwo(){
...
}
formatEventThree(){
...
}
...
}

以下是一些实现此目标的方法:

const myFuncLocal=()=>{…}/(or=function(){…})

现在您可以这样应用它:

{…,methodToApply:myFuncLocal}

您还可以在
方法中定义一个function
属性,然后将其引用到此
中。
就像您通常所做的那样

{…,methodToApply:this.myFuncMethod}

如果要使用特定参数调用它,可以包装函数

{…,methodToApply:()=>myFuncLocal(param)}


如果您指定的函数接受一个参数,如果您这样调用它,它将自动传递给它,例如
@click=“event.methodToApply(event.value)”

,谢谢!另外,这是唯一的解决方案还是有更优雅的方法呢?我认为
@input=“this[event.methodToApply]()”
应该可以工作,但我不确定或
event.methodToApply()
methods:{
  call(methodName){
    this[methodNam]();
   },
 formatEventOne(){
...
},
formatEventTwo(){
...
}
formatEventThree(){
...
}
...
}