avatar

不觉南风

不觉南风的个人博客

  • 首页
  • 文章
  • 标签
  • 项目&效果展示
  • 关于
Home v-model原理
文章

v-model原理

Posted 2024-02-3 Updated 2024-02- 21
By 不觉南风
4~5 min read

v-model即可以作用于表单元素,又可作用于自定义组件,无论是哪一种情况,它都是一个语法糖,最终会生成一个属性和一个事件

当其作用于表单元素时,vue会根据作用的表单元素类型而生成合适的属性和事件。例如,作用于普通文本框的时候,它会生成value属性和input事件,而当其作用于单选框或多选框时,它会生成checked属性和change事件。

v-model也可作用于自定义组件,当其作用于自定义组件时,默认情况下,它会生成一个value属性和input事件。

<Comp v-model="data" />
<!-- 等效于 -->
<Comp :value="data" @input="data=$event" />

开发者可以通过组件的model配置来改变生成的属性和事件

// Comp
const Comp = {
  model: {
    prop: "number", // 默认为 value
    event: "change" // 默认为 input
  }
  // ...
}
<Comp v-model="data" />
<!-- 等效于 -->
<Comp :number="data" @change="data=$event" />
编程随记
vuejs
License:  CC BY 4.0
Share

Further Reading

Mar 21, 2024

vue项目中利用scss进行全局字体放大

新公司需要上架浙里办政府服务网的PC端,在审核的时候被老龄化适配打回来了。需要做全局的字体放大,在网上查了一些博客,最后结合自

Mar 9, 2024

AMD规范

什么是AMD规范 AMD(Asynchronous Module Definition),也就是异步模块定义。AMD规范,制定了定义模块的规则,使得模块之间的依赖可以被异步加载。这和浏览器的异步加载模块的环境刚好适应(浏览器同步加载模块会导致性能、可用性、调试和跨域访问等问题)。 所谓异步,就是所有

Mar 9, 2024

http缓存机制

缓存的基本原理 在一个C/S结构中,最基本的缓存分为两种: 客户端缓存 服务器缓存 本文仅讨论客户端缓存

OLDER

keep-alive

NEWER

vue的diff算法

Recently Updated

  • vue项目中利用scss进行全局字体放大
  • AMD规范
  • http缓存机制
  • git提交报错 husky - commit-msg hook exited with code 1 (error)
  • for...in 和 for...of有什么区别?

Trending Tags

电脑常见问题 nodejs vuejs webpack 网络 问题记录 javaScript基础 小程序 常用插件 数据库

Contents

©2025 不觉南风. Some rights reserved.

Using the Halo theme Chirpy