前端面试题 | VUE组件传值,VUEX怎样传值的?

一、父子组件传值

父子组件传值使用props向子组件传递数据

子组件直接使用props接收父组件传递过来的值,接收过来的 值可以直接使用


父组件通过v-bind将logo的值绑定为父组件里面需要传递给子组件的变量


二、子父组件传值

(一)子组件通过事件传递数据给父组件

子组件部分
当input的值发生变化的时候,将username传递给父组件,首先声明一个setuser,用change事件来调用setUser


父组件 getUser里面的参数就是子组件传递过来的参数


(二)第二种方法可以使用ref属性、

子组件


 

父组件


 

 通过$refs可以进行传值

三、兄弟组件传值

(一)可以使用Eventbus时间总线进行父子组件之间的传值

  • 首先创建一个单独的eventBus.js文件
  • //Eventbus里面的内容
    //创建vue实例
    import Vue from 'vue'
    /向外共享Vue的实例对象
    export default new Vue()

    创建两个子组件并且注册到父组件之中

  • 前端面试题 | VUE组件传值,VUEX怎样传值的?_第1张图片

  • 在两个组件中分别引入bus

    前端面试题 | VUE组件传值,VUEX怎样传值的?_第2张图片前端面试题 | VUE组件传值,VUEX怎样传值的?_第3张图片

     组件A可以将修改后的数据使用$emit发送给兄弟组件 ,兄弟组件使用$on接收传递过来的数据

(二)使用vuex(后续会有更新~,点个关注)vuex

你可能感兴趣的:(前端)