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前端后端,以及移动跨平台开发

最新文章

  1. (十一)Maven远程仓库的各种配置
  2. C++获取当前目录
  3. IntelliJ设置鼠标悬浮提示和修改快捷键
  4. Apache Spark技术实战之4 -- 利用Spark将json文件导入Cassandra
  5. 基础学习day08---多态、简单工厂、Object类equals和toString
  6. NodeJS常用库说明
  7. WPF遮蔽层的实现
  8. 如何快速正确的安装 Ruby, Rails 运行环境
  9. .net操作PDF的一些资源(downmoon收集)
  10. 线程:Semaphore实现信号灯
  11. 前端之Sass/Scss实战笔记
  12. Codeforces 242E:XOR on Segment(位上的线段树)
  13. 测试部署环境用到的主要linux命令
  14. 【分享】iTOP4412开发板-Bluetooth移植文档
  15. Struts2是什么?
  16. 洛谷.3733.[HAOI2017]八纵八横(线性基 线段树分治 bitset)
  17. winscp工具和xshell连接linux机器时切换到root账户
  18. ubuntu 16.04 python版本切换(python2和python3)
  19. 细数php里的那些“坑”
  20. attempt to create delete event with null entity

热门文章

  1. vue中axios的使用
  2. 【Netty之旅四】你一定看得懂的Netty客户端启动源码分析!
  3. Flutter学习一之环境搭建
  4. Java中的常见锁(公平和非公平锁、可重入锁和不可重入锁、自旋锁、独占锁和共享锁)
  5. Echarts山东省地图两级钻取、返回及济南合并莱芜地图
  6. 基于 React 封装的高德地图组件,帮助你轻松的接入地图到 React 项目中。
  7. 基于Scrapy的交互式漫画爬虫
  8. C++(VS2015)模板显式特化之template语法深入理解
  9. STM32之旅2——按键
  10. [HAOI 2017]八纵八横