You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js v-model绑定问题:submit事件中password值为undefined

问题原因

你的问题核心在于**methods里用箭头函数定义了submit方法**。箭头函数不会绑定自身的this,它的this是继承自定义时的外层作用域,而非Vue组件实例。所以当你在箭头函数里访问this.password时,this根本不是指向你的Vue组件实例,自然拿不到data里定义的password值,结果就会是undefined。

解决方案

把submit方法改成普通函数形式,Vue会自动将组件实例绑定到方法的this上,这样就能正常访问data里的属性了:

<script>
export default {
  data () {
    return {
      msg: 'Welcome to Your Vue.js App',
      password: ''
    }
  },
  methods: {
    submit() { // 替换箭头函数为普通函数
      console.log('submitted')
      console.log(this.password) // now this指向Vue实例,能拿到正确值
    }
  }
}
</script>

另外,模板里的v-on:click可以用Vue的语法糖简化成@click,写法更简洁:

<button @click="submit">Submit</button>
补充说明

Vue官方文档明确提醒:不要在options属性(比如methods、computed、watch)或回调上使用箭头函数,因为箭头函数没有独立的this上下文,会导致无法访问Vue实例的属性和方法。

内容的提问来源于stack exchange,提问作者gv1507

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:37:43