组件传递分
三种情况:
- 父组件调用子组件 ①
- 子组件调用父组件 ②
- 兄弟组件 就是 先② 然后 ①,这个①的时候是调另一个兄弟了
就这三种情况,基本上就够用了。再不行就上vuex
关于记住的原则:
想了想就一个: 子组件别动父组件的值 就是子组件props里的值,你子组件只能读不能改。
相关语法:
- 父组件给子组件传值
子组件里
props:{
parentVaule:{
type: Array,// String , Object就是个类型 官网有
default: ()=>[] //array 和 object是函数形式的
}
}
父组件里
<Child :parentVaule="[1,2,3,4]"/>
- 父组件调用子组件的一切 可以随便用
<child ref="child"/>
在父组件里用
this.$refs.child.属性
this.$refs.child.方法()
都是可以的
上边两个都是父调子
3. 子调父 ,只有一种调父组件的方法
子组件
this.$emit('fuzujiandefangfa', false) // 第一个参数是父组件v-on的名字 第二个参数是 那个方法的参数
父组件
<child @fuzujiandefangfa="aa">
methods:{
aa() {
}
}
以上是所有情况 兄弟调用就是两个的组合