Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
haizhilin2013 opened this issue Jun 18, 2019 · 6 comments
Open

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

haizhilin2013 opened this issue Jun 18, 2019 · 6 comments
Labels
vue vue

Comments

@haizhilin2013
Copy link
Collaborator

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

@haizhilin2013 haizhilin2013 added the vue vue label Jun 18, 2019
@Sihan-Tan
Copy link

对数据进行双向绑定

@zhixiaotong
Copy link

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

@jiefancis
Copy link

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

@sc950828
Copy link

sc950828 commented Sep 23, 2022

vue内部实现了如下:

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

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

@sc950828
Copy link

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
Copy link

Cai-zhiji commented Jul 7, 2023

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
Labels
vue vue
Projects
None yet
Development

No branches or pull requests

6 participants