父向子传值
通过属性进行传递接受用props属性进行接受。props属性用来接收外部属性。
在父组件中当子组件当作标签使用的时候给子组件添加属性,值为需要传递的值。在子组件内部通过props
进行接受。接受的方式有2种,第一种为数组接受,第二种为对象接受,推荐用第二种,对象形式的可以限制数
据的类型
子向父传值
方案一
在父组件中当子组件当作标签使用的时候给子组件绑定自定义方法,子组件通过this.$emit()进行触发。注意
自定义方法是不需要加()的
方案二
利用solt插槽作用域。
solt的使用方法以及作用域插槽的用法
使用方法:
1)当组件当作标签进行使用时,solt可以用来接受组件标签包裹的内容,当给solt标签添加name属性时,可以调换响应的位置
插槽作用域:
1)作用域插槽就是带数据的插槽,父组件接收来自于子组件的slot标签上通过v-bind绑定进而传递过来的数据,父组件通过scope来进行接收子组件传递的数据
非父子传值
方案一:
创建公共的Vue对象。通过调用Vue中的$on()$emit()进行传值。需要接受值得一方调用$on,需要传递值
得一方调用$emit()
方案二:
利用观察者模式封装$on$emit