Skip to content

[vue] v-model是什么?有什么用呢? #288

Open
@haizhilin2013

Description

@haizhilin2013
Collaborator

[vue] v-model是什么?有什么用呢?

Activity

Sihan-Tan

Sihan-Tan commented on Jul 23, 2019

@Sihan-Tan

对数据进行双向绑定

zhixiaotong

zhixiaotong commented on Sep 23, 2019

@zhixiaotong

一则语法糖,相当于v-bind:value="xxx" 和 @input,意思是绑定了一个value属性的值,子组件可对value属性监听,通过$emit('input', xxx)的方式给父组件通讯。自己实现v-model方式的组件也是这样的思路。

jiefancis

jiefancis commented on Aug 16, 2022

@jiefancis

在表单控件或者组件上创建双向绑定

sc950828

sc950828 commented on Sep 23, 2022

@sc950828

vue内部实现了如下:

  1. text 和 textarea 元素使用 value property 和 input 事件;
  2. checkbox 和 radio 使用 checked property 和 change 事件;
  3. select 字段将 value 作为 prop 并将 change 作为事件。

如果在自定义组件上使用,默认为input事件和value,如果要更改需要定义model选项。prop定义属性名,event定义事件名

sc950828

sc950828 commented on Sep 23, 2022

@sc950828

vue内部实现了如下:

  1. text 和 textarea 元素使用 value property 和 input 事件;
  2. checkbox 和 radio 使用 checked property 和 change 事件;
  3. select 字段将 value 作为 prop 并将 change 作为事件。

如果在自定义组件上使用,默认为input事件和value,如果要更改需要定义mode选项。prop定义属性名,event定义事件名

Cai-zhiji

Cai-zhiji commented on Jul 7, 2023

@Cai-zhiji

v-model 是 Vue 中的一个指令,用于在表单元素和组件中实现双向数据绑定。

作用

v-model 的作用是在表单元素(如输入框、复选框、单选框等)和自定义组件之间建立数据的双向绑定关系。它可以同时实现数据的读取和更新,使得数据的变化可以自动反映到视图上,同时用户在视图上的操作也会自动更新到数据中。

使用 v-model 指令时,需要根据不同的表单元素或自定义组件来确定其具体用法和参数。

对于常见的表单元素,例如输入框,可以使用 v-model 将输入框的值与 Vue 实例的数据属性进行绑定,实现实时更新:

<input v-model="message" type="text">

在上述示例中,v-model="message" 表示将输入框的值与 Vue 实例中的 message 数据属性进行双向绑定。当用户在输入框中输入内容时,message 的值会实时更新,反之亦然。

对于自定义组件,可以通过自定义组件内部的 model 选项来实现 v-model 的功能。自定义组件可以定义一个 value 属性和一个 input 事件,然后在组件内部使用 v-bind:value 和 v-on:input 将外部数据和事件与组件内部的 value 属性和 input 事件进行关联。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @haizhilin2013@sc950828@jiefancis@zhixiaotong@Sihan-Tan

        Issue actions

          [vue] v-model是什么?有什么用呢? · Issue #288 · haizlin/fe-interview