首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vue上的v-model改变后如何触发点击事件?

问vue上的v-model改变后如何触发点击事件?
EN

Stack Overflow用户
提问于 2021-10-01 09:11:21
回答 2查看 278关注 0票数 1

我有一个关于vuejs的checkBox。我在一个函数的状态改变时调用它,但是在v-model改变之前点击事件触发。因此,函数中v-model的值是前一个值。如何使点击事件在v-model更改后触发?

​

代码语言:javascript
复制
var app = new Vue({
  el: '#app',
  data() {
    return {
      status: false
    }
  },
  methods: {
    checkBoxClicked() {
      console.log(this.status)
    }
  }
})
代码语言:javascript
复制
<link type="text/css" rel="stylesheet" href="https://unpkg.com/bootstrap@4.5.3/dist/css/bootstrap.min.css" />
<link type="text/css" rel="stylesheet" href="https://unpkg.com/bootstrap-vue@2.21.2/dist/bootstrap-vue.css" />

<script src="https://unpkg.com/vue@2.6.12/dist/vue.min.js"></script>
<script src="https://unpkg.com/bootstrap-vue@2.21.2/dist/bootstrap-vue.min.js"></script>


<div id="app">
  <b-form-checkbox
      v-model="status"
      name="checkbox"
      @click.native="checkBoxClicked"
    >
      I accept the terms and use
   </b-form-checkbox>
</div>

​

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-01 09:23:21

使用change事件而不是click

代码语言:javascript
复制
<div id="app">
  <b-form-checkbox
      v-model="status"
      name="checkbox"
      @change="checkBoxClicked"
    >
      I accept the terms and use
   </b-form-checkbox>
</div>
票数 2
EN

Stack Overflow用户

发布于 2021-10-01 09:18:46

@atousadarabi如果你等到下一个渲染周期,会有帮助吗?

代码语言:javascript
复制
methods: {
   checkBoxClicked() {
      this.$nextTick(() => {
         console.log(this.status)
      })
   }
}

否则,只需删除所有的点击处理程序,并在status上有一个观察者。无论何时更新,都可以执行所需的操作:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69403377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档