【问题标题】:Get input value via v-on:change and click in vuejs?通过 v-on:change 获取输入值并点击 vuejs?
【发布时间】:2021-07-16 02:23:59
【问题描述】:

我正在使用 vuejs 中的代码:

模板:

<b-form-input
   placeholder="name"
   type="text"
   class="d-inline-block"
   v-model="name"
   v-on:change="changeInput"
/>
<b-button
   variant="primary"
   class="btn-tour-finish"
   @click="getValue()"
   >
</b-button>
data() {
  return {
    name: '',
  }
}
methods: {
 getValue() {
   console.log(this.name)
 },
 changeInput() {
   console.log(this.name)
 },
}

在这里,当我在按钮上click 获得输入值或通过v-on:change 事件输入时,也获得输入值。但这里的问题是我必须使用相同的代码在方法中处理两次。 (@clickv-on: change)。有没有办法在方法中将@clickv-on:change 组合成一个函数?

【问题讨论】:

    标签: vue.js vuejs2


    【解决方案1】:

    你可以这样做:

    <b-form-input
       placeholder="name"
       type="text"
       class="d-inline-block"
       v-model="name"
       @keyup.enter="changeValue"
    />
    <b-button
       variant="primary"
       class="btn-tour-finish"
       @click="changeValue"
       >
    </b-button>
    
    data() {
      return {
        name: '',
      }
    }
    methods: {
     changeValue() {
       console.log(this.name)
     },
    }
    

    【讨论】:

      【解决方案2】:

      用函数包装相同的代码

      data() {
        return {
          name: '',
        }
      }
      methods: {
       getValue() {
         this.handle()
       },
       changeInput() {
         this.handle()
       },
       handle() {
         console.log(this.name)
       },
      }
      

      【讨论】:

      • 如果你这样做,那么当按钮被点击时,它将被调用两次 value..即v-on:changeclick。有没有其他办法
      • 这个怎么样v-on:change="handle"@click="handle"
      • 输入输入时显示一个结果..但单击按钮时将显示v-on:changeclick两个结果。
      • 以上是你的完整代码吗? getValue函数中的name改了吗?
      • 以上是我的完整代码..我想按回车键然后通过 v-on:change 事件获取输入值..当单击按钮时它也获取输入值但使用相同的功能,现在它翻了一番
      猜你喜欢
      • 1970-01-01
      • 2017-06-11
      • 2021-05-29
      • 2018-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-30
      • 1970-01-01
      相关资源
      最近更新 更多