Vue父子组件传值面试这样说就可以了

641 阅读1分钟

父组件传子组件的值正常都是从后端获取的,官方推荐使用axios来进行前后端交互,使用 axios.get(), 因为axios返回的是Promise,所以直接用.then() 在里面写个接收函数接收返回值ret,ret的返回值就可以 对应的赋值在在data里面定义的kv值。将data里面获取到的值通过在template中的子组件标签上通过v-bind:xxx = '' 这样父组件的操作就完成了,然后再子组件中,通过props{list:Array}来接收从父组件传过来的值,接受到的值就可在 子组件的template中使用。这样就完成了父组件将数据传输到子组件的全部过程。

子组件传父组件的值正常都是由事件决定的,这里拿click举例,当子组件上绑定被点击事件触发时,可以在这个触发事件的函数中 使用Vue自带的this.$emit(‘父组件接收的事件名’,要传输的参数),这样子组件就完成了。然后在父组件中的template里的对应 子组件上通过@事件名 = ‘func’ 然后在父组件的method中补全这个func,这个func中将从子组件中穿过来的值赋值给父组件的data的 kv值,然后就获得到子组件中的传过来的值了。父组件就可以将这个值在template中使用。这样就完成子组件向父组件中传值的全过程。