【Vue.js】简单说下vuejs中v-model自定义使用姿势
2024-09-08 00:36:55
vue.js中有个v-model的语法,可以实现双向绑定。
起初刚看到的时候,觉得很神奇。后面随着对vue.js的熟悉。发现这个其实是vue官方给我们实现的一个语法糖。
使用v-model的时候,vue会绑定组件的value属性,在自定义组件上使用v-model,然后浏览器审查元素,就会发现组件上做了一个vue属性。
如果在组件做出修改的话,就可以直接发射一个input的事件,把对应的值弹出到外面,就实现了双向绑定
v-model用不用input这个标签其实都无所谓
父组件
<template>
<div id="app">
<HelloWorld v-model="msg" />
<h1 style="color:green">{{msg}}</h1>
<button @click="test()">ok</button>
</div>
</template> <script>
import HelloWorld from "./components/HelloWorld.vue"; export default {
name: "app",
components: {
HelloWorld
},
data() {
return {
msg: 2
};
},
methods: {
test() {
this.msg -= 1;
}
}
};
</script>
子组件
<template>
<div class="hello">
<h1 v-bind:title="value" @click="close()">{{ value }}</h1>
</div>
</template> <script>
export default {
name: "HelloWorld",
props: {
value: Number
},
data() {
return {
};
},
methods: {
close() {
this.num+=1;
this.$emit("input", this.value+1);
}
}
};
</script>
欢迎大家关注我的微信公众号:web开发仔,
本公众号的宗旨是以最简短的文字,分享一些关键的web开发技术
技术范围包括web前端后端,以及移动跨平台开发
最新文章
- (十一)Maven远程仓库的各种配置
- C++获取当前目录
- IntelliJ设置鼠标悬浮提示和修改快捷键
- Apache Spark技术实战之4 -- 利用Spark将json文件导入Cassandra
- 基础学习day08---多态、简单工厂、Object类equals和toString
- NodeJS常用库说明
- WPF遮蔽层的实现
- 如何快速正确的安装 Ruby, Rails 运行环境
- .net操作PDF的一些资源(downmoon收集)
- 线程:Semaphore实现信号灯
- 前端之Sass/Scss实战笔记
- Codeforces 242E:XOR on Segment(位上的线段树)
- 测试部署环境用到的主要linux命令
- 【分享】iTOP4412开发板-Bluetooth移植文档
- Struts2是什么?
- 洛谷.3733.[HAOI2017]八纵八横(线性基 线段树分治 bitset)
- winscp工具和xshell连接linux机器时切换到root账户
- ubuntu 16.04 python版本切换(python2和python3)
- 细数php里的那些“坑”
- attempt to create delete event with null entity