父级传子级
父级使用v-bind传递,子级使用props接收
父级页面
子级页面
TIPS:
- 数据只能从父级流向子级
- 子页面接收数据之后,data中不需要重复声明
子级改变父级的数据
直接改数据的话,在子页面中console.log()的时候,确实可以看到数据改变了,但父级中的数据是不会受到影响的。父级传到子级的数据,子页面中想改变它,怎么做?
子级改变父级数据只能通过事件来改变:1、自定义事件 2、sync语法糖
.sync的用法已经在另一篇文章里讲过啦:https://www.jianshu.com/p/abf1475f42d5
下面来聊聊自定义事件的用法:
子页面使用$emit定义自定义事件,第一个值为自定义事件名称,第二个值为要给父级传递的数据
子页面
父页面
父页面
数据.对象
这种写法中,为对象的引用。引用值改变,引起原来值一起改变
let obj = {name:"Echo",age:"18"}
let data = obj
data.age = 20
console.log(obj)
//{name:"Echo",age:"20"}