这个关键字在v2.3.0+ 新增,注意带有 .sync 修饰符的 v-bind 不能和表达式一起使用 (例如 v-bind:title.sync=”doc.title + ‘!’” 是无效的)。说白了他就是子组件改变父组件DATA的一种方法,但是个人觉得要慎用吧,不然有容易污染组件数据的隐患,

可以运行一下示例代码,参考vue  dev  tool ,就会明白

father.vue:

<template>
<div class="hello"> //input实时改变wrd的值, 并且会实时改变box里的内容
<input type="text" v-model="wrd">
<hr>
这是name---{{sname}}
<!-- 不写sync不更新父组件数据,变成了单向的父组件传值给子组件的写法 -->
<box :word.sync="wrd" :sname.sync="sname" ></box>
</div>
</template> <script>
import box from './child.vue' //引入box子组件
export default {
name: 'HelloWorld',
data() {
return {
wrd: '',
sname:'zs',
age:12
}
},
components: {
box
}
}
</script>

child.vue

<template>
<div class="hello">
<div class="ipt">
<hr>
---------------------------------------------
<br>
<input type="text" v-model="str">
</div> //word是父元素传过来的
<br>
<h2>{{ word }}</h2>
<br>
//sname也是
<br>
<h2>{{ sname }}</h2>
</div>
</template> <script>
export default {
name: 'box',
data() {
return {
str: '',
}
},
props: {
word: {
type:String,
default:''
},
sname:{
type:String,
default:'ls'
}
},
watch: {
str: function(newValue, oldValue) {
//每当str的值改变则发送事件update:sname , 并且把值传过去,这时会修改父组件的data值
this.$emit('update:sname', newValue);
//如果多个值又不想用object,可以多次emit
this.$emit('update:word', newValue+'1');
}
}
}
</script>
  

最新文章

  1. (转)Ehcache 整合Spring 使用页面、对象缓存
  2. ubuntu设置开机启动图形应用程序,替换默认图形桌面
  3. MySQL表名、列名区分大小写详解
  4. 详解Android Handler的使用-别说你不懂handler
  5. cocos2d-x3.1.1 step by step 学习笔记1----- 软件的安装与HelloWord
  6. android学习日记15--WebView(网络视图)
  7. Swift - 19 - 字典的初始化
  8. 利用js得到某个范围内的整数随机数
  9. 关于Apacheserver的訪问控制
  10. 全局光照:光线追踪、路径追踪与GI技术进化编年史
  11. MySQL数据库使某个不是主键的字段唯一
  12. 如何使用 OpenCV 打开摄像头获取图像数据?
  13. 1013团队Beta冲刺day7
  14. (九十七)集成JPush实现远程通知和推送的发送
  15. .net core 灵活读取配置文件
  16. js之作用域链到闭包
  17. django如何查看mysql已有数据库中已有表格
  18. 快速傅里叶变换(FFT)_转载
  19. Device Tree常用方法解析【转】
  20. HandlerSocket介绍

热门文章

  1. FTP连接不上的解决方法
  2. luogu P5331 [SNOI2019]通信
  3. 华为云搭建windows+wordpress+xampp
  4. vue elementui 切换语言
  5. 关于&lt;input type=&quot;hidden&quot;/&gt;标签的记录
  6. PAT Advanced 1007 Maximum Subsequence Sum (25 分)
  7. ascii 八进制
  8. &#39;No application found. Either work inside a view function or push&#39;
  9. Github使用进阶
  10. pyqt5-橡皮筋控件QRubberBand