如何在Vue.js中重构重复属性

如何在Vue.js中重构重复属性,vue.js,Vue.js,假设我有一个表单和许多字段。我想为每个表单字段订阅change。我必须为每个字段添加@change=“doSome”。如果我有很多字段,它会变得有些重复。如何重构它?您可以侦听表单标记本身上的更改事件,而不是侦听单个输入 当表单中的内容发生更改时,将运行函数doSomething(),例如:如果键入输入并释放焦点 在doSomething函数中,您希望了解更改了哪些元素。我们从输入事件提供的事件参数中获取此信息: methods: { doSomething(event) { thi

假设我有一个表单和许多字段。我想为每个表单字段订阅
change
。我必须为每个字段添加
@change=“doSome”
。如果我有很多字段,它会变得有些重复。如何重构它?

您可以侦听表单标记本身上的更改事件,而不是侦听单个输入

当表单中的内容发生更改时,将运行函数
doSomething()
,例如:如果键入输入并释放焦点

在doSomething函数中,您希望了解更改了哪些元素。我们从输入事件提供的事件参数中获取此信息:

methods: {
  doSomething(event) {
    this.lastEvent = event.target.value;
  }
}
你可以在这张照片上看到这个效果

如果form元素是组件内部元素的子元素,如下所示:

<template>
  <div>
    <form></form>
  </div>
</template>

@change
事件侦听器将不工作,因为组件上的根元素(div)没有任何更改


在这种情况下,我们需要添加.native修饰符,如下所示:
@change.native=“doSomething”
您可以在表单标记本身上侦听更改事件,而不是侦听单个输入

当表单中的内容发生更改时,将运行函数
doSomething()
,例如:如果键入输入并释放焦点

在doSomething函数中,您希望了解更改了哪些元素。我们从输入事件提供的事件参数中获取此信息:

methods: {
  doSomething(event) {
    this.lastEvent = event.target.value;
  }
}
你可以在这张照片上看到这个效果

如果form元素是组件内部元素的子元素,如下所示:

<template>
  <div>
    <form></form>
  </div>
</template>

@change
事件侦听器将不工作,因为组件上的根元素(div)没有任何更改


在这种情况下,我们需要添加.native修饰符,如下所示:
@change.native=“doSomething”

我想如果它们在表单标记中,您可以在上面添加
@change
。我相信这将倾听所有孩子的变化。如果你把东西转换成可重用的组件,那么就不会发生变化repetitive@Sølveretradeøe我的表单标签是某个供应商提供的组件。它不会带来变化event@JacobGoh我曾多次尝试这样做。你仍然需要在这样一个组件中注入很多东西,比如模型和字段名。哈,你能试着添加@change.native=“doSome”吗?我想如果它们在表单标记中,你可以在上面添加
@change
。我相信这将倾听所有孩子的变化。如果你把东西转换成可重用的组件,那么就不会发生变化repetitive@Sølveretradeøe我的表单标签是某个供应商提供的组件。它不会带来变化event@JacobGoh我曾多次尝试这样做。你仍然需要在这样一个组件中注入很多东西,比如模型和字段名啊哈,你能尝试添加@change.native=“doSome”Sweet吗?很乐意帮忙!亲爱的,很乐意帮忙!