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不能检测到数据变化的几种情况说明

    Vue是一款前端框架,其特点之一就是数据驱动视图,即根据数据的变化自动更新视图。但是,在某些情况下,Vue不能检测到数据的变化,导致视图没有更新。那么Vue不能检测到数据变化的几种情况有哪些呢?本攻略将一一讲解。 直接修改数组下标无法触发更新 Vue能够监听到数组的变化,但不能监听到数组下标的变化。如果直接修改数组下标,Vue将无法检测到数据的变化,也就无法…

    Vue 2023年5月28日
    00
  • vue修改数据的时候,表单值回显不正确问题及解决

    针对“vue修改数据的时候,表单值回显不正确问题及解决”的问题,我们可以从以下几个方面来进行讲解和解决: 1. 问题描述 在使用Vue进行开发时,经常会遇到修改数据后表单值不回显的问题。例如,我们在表单中填写了一些信息后,提交表单后跳转到列表界面,在列表界面中点击编辑后修改数据,再跳转回来,但是此时表单中的值并没有回显修改的结果,仍然显示的是旧的数据。 2.…

    Vue 2023年5月29日
    00
  • Vue3使用Vuex之mapState与mapGetters详解

    当使用Vue3构建大型Web应用时,状态管理是很重要的一点。Vuex是一个非常流行的Vue.js状态管理库。而在Vue3中,使用Vuex也是非常方便的。其中,使用mapState和mapGetters是非常常见的两种方式。下面,我们详细讲解一下这两种方式的使用方法。 mapState mapState是Vuex提供的辅助函数,可以将store中的state映…

    Vue 2023年5月27日
    00
  • 详解Vue 匿名、具名和作用域插槽的使用方法

    当我们在Vue中使用插槽时,通常会使用匿名、具名或作用域插槽。在本文中,我们将详细讲解这些插槽的用法,并提供一些示例帮助读者更好地理解。 1. 匿名插槽 目的 匿名插槽的目的是在父组件中,向子组件传递HTML内容。父组件的HTML内容会被子组件所默认接受,并且可以通过插槽名称进行调用。 使用方法 在父组件中,使用<slot>标签来占位子组件的位置…

    Vue 2023年5月28日
    00
  • vue一步到位的实现动态路由

    实现动态路由的过程中,我们需要完成以下几个步骤: 定义路由表 动态注册路由 处理404页面 下面我们就来具体分析一下这三个步骤。 步骤一:定义路由表 我们首先需要定义一个路由表,其中包含了所有的页面路径以及对应的组件,它可以在一个独立的模块中定义。以一个示例项目为例,我们可以定义一个 routes 文件,如下: export default [ { path…

    Vue 2023年5月27日
    00
  • Vue监听数据对象变化源码

    下面我来为您详细讲解Vue监听数据对象变化源码的完整攻略。 监听数据对象变化源码 Vue.js 可以监听 Javascript 对象的变化,并且自动刷新页面的显示。这其实是实现了 Object.defineProperty() 这个方法所暴露的 功能。Vue.js 会在初始化时对属性执行监听,只要被监听的数据首次出现,就会遍历该对象的所有属性,将它们都转为用…

    Vue 2023年5月27日
    00
  • vue中的inject学习教程

    关于“vue中的inject学习教程”的完整攻略,我们可以分为以下几个部分进行讲解: 一、inject的作用 inject 是在 Vue.js 上层组件向其下层子组件注入数据的方式。它支持我们在子组件中访问父组件的数据,不管层级有多深,而不需要一层层通过 prop 或事件来传递。因此,inject 及其衍生出的 provide 可以在一定程度上解决跨组件之间…

    Vue 2023年5月28日
    00
  • vue项目中的public、static及指定不编译文件问题

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

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