vue获取input值的三种常用写法

下面详细讲解“vue获取input值的三种常用写法”的完整攻略,过程中包含两条示例说明。

一、获取input的value值

1. 使用v-model双向绑定

Vue中,可以使用v-model指令将表单元素的值绑定到Vue实例上,实现双向绑定。例如:

<template>
  <div>
    <input type="text" v-model="message">
    <p>{{ message }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: ''
    }
  }
}
</script>

在上述例子中,当我们在input框中输入数据时,message变量会自动更新为当前输入框的值,并且在下方会实时展示输入框的值。

2. 使用ref标识符

使用ref标识符可以获取到DOM节点,而后通过该DOM节点的value属性值获取input元素中的值。例如:

<template>
  <div>
    <input type="text" ref="input">
    <button @click="getInputValue">获取input框的值</button>
    <p>获取到input框的值:{{inputValue}}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      inputValue: ''
    }
  },
  methods: {
    getInputValue() {
      this.inputValue = this.$refs.input.value //通过ref获取到DOM节点
    }
  }
}
</script>

在上述例子中,我们可以通过ref获取到input的DOM节点,在事件处理函数中获取到该DOM节点的值,并将该值赋给inputValue变量,以展示input框的值。

二、获取checkbox/radio的选中状态

1. 使用v-model

可以将v-model应用到checkboxradio上。当多个checkboxradio绑定到同一个变量时,在选中其中一个后,该变量的值即改变。例如:

<template>
  <div>
    <input type="checkbox" id="ai" value="AI" v-model="checkedValues">
    <label for="ai">AI</label><br>
    <input type="checkbox" id="big-data" value="Big Data" v-model="checkedValues">
    <label for="big-data">Big Data</label><br>
    <p>已选择的领域:{{ checkedValues }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      checkedValues: []
    }
  }
}
</script>

在上述例子中,当我们选中了AI或Big Data后,checkedValues即被赋值为对应的数组。

2. 使用@change事件

使用@change事件获取checkboxradio的选中状态。例如:

<template>
  <div>
    <input type="radio" name="gender" value="male" @change="onGenderChanged('male')">
    <label for="male">男</label><br>
    <input type="radio" name="gender" value="female" @change="onGenderChanged('female')">
    <label for="female">女</label><br>
    <p>当前选择的性别:{{ gender }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      gender: ''
    }
  },
  methods: {
    onGenderChanged(value) {
      this.gender = value // 将选中的值赋给gender变量
    }
  }
}
</script>

在上述例子中,我们使用@change事件将选中的值赋给了gender变量。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue获取input值的三种常用写法 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • vue项目中的public、static及指定不编译文件问题

    在Vue项目中,public、static以及指定不编译文件是比较重要的概念,下面我将详细讲解这些概念。 public 文件夹 public文件夹是一个特殊的目录,其中的文件会在打包时被直接拷贝到输出目录(dist)下,不经过编译。因此,在public文件夹中添加的文件不会被Vue进行webpack构建的过程处理,最终输出的结果会直接使用这些文件,适用于一些…

    Vue 2023年5月28日
    00
  • JavaScript函数封装随机颜色验证码(完整代码)

    让我来详细讲解“JavaScript函数封装随机颜色验证码(完整代码)”的完整攻略。 题目描述 我们需要开发一个可以生成随机颜色的验证码的JavaScript函数,并将其封装成一个可复用的代码。 解决方案 我们可以通过以下步骤来实现该功能: 第一步:定义变量和函数 首先,我们需要定义一些变量和函数,如下所示: var code, codeLength = 6…

    Vue 2023年5月28日
    00
  • Vue如何引入远程JS文件

    Vue框架提供了多种方式来引入远程的JavaScript文件。下面详细介绍两种常用的方式。 方式一:通过script标签引入 我们可以在Vue组件内使用script标签来引用远程JS文件。下面是一个示例: <template> <div> <h1>Hello Vue</h1> <button @click…

    Vue 2023年5月28日
    00
  • vue如何使用el-table遍历循环表头和表体数据

    当我们需要在Vue项目中显示表格数据时,我们可以使用 Element UI 提供的 el-table 组件。在使用 el-table 组件时,经常会遇到需要遍历循环表头和表体数据的情况。下面是详细的步骤: 1. 安装 Element UI 首先,我们需要安装 Element UI。打开终端并运行以下命令: npm install element-ui –s…

    Vue 2023年5月28日
    00
  • vue实现将一个数组内的相同数据进行合并

    要将一个数组内的相同数据进行合并,可以使用Vue.js提供的计算属性来完成。首先,需要对原始数据进行处理,将相同的数据进行合并,然后在模板中使用计算属性来渲染数据。 下面是一些示例说明: 示例一:将相邻重复的数字合并成一个,输出 [1,2,3,4,5] <template> <div> <p v-for="num in…

    Vue 2023年5月28日
    00
  • Vue中的生命周期介绍

    下面是关于Vue中的生命周期介绍的完整攻略及示例: 什么是Vue的生命周期 Vue生命周期是指Vue组件从创建到销毁的整个过程中,它所要经历的各个阶段。Vue生命周期分为8个不同的阶段,每个阶段都有相应的钩子函数,可以在相应的时候进行自定义操作。 Vue生命周期的8个钩子函数 下面是Vue生命周期的8个钩子函数,从创建到销毁依次为: beforeCreate…

    Vue 2023年5月29日
    00
  • 使用异步组件优化Vue应用程序的性能

    当我们使用Vue构建大型应用程序时,组件的加载速度和性能就变得至关重要。Vue的异步组件功能可以帮助我们优化应用程序的性能,让我们来学习如何使用异步组件优化Vue应用程序的性能吧。 什么是异步组件 Vue的异步组件允许我们在构建大型应用程序时通过异步加载组件来提高性能。使用异步组件,我们可以仅在需要时才加载组件,而不是在页面加载时同时加载所有组件。这将加快页…

    Vue 2023年5月27日
    00
  • mpvue+vant app搭建微信小程序的方法步骤

    下面是“mpvue+vant app搭建微信小程序的方法步骤”的完整攻略: 一、mpvue和vant的安装 安装webpack: npm i webpack -g 使用webpack脚手架工具初始化mpvue项目:vue init mpvue/mpvue-quickstart my-project 安装vant: npm i vant -S 二、配置mpvu…

    Vue 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部