uniapp 子组件 props拿不到数据_vue组件通信总结

11月份的面试越来越觉得自己学的不够踏实和深入。现在实习了有空总结下

京东前端实习一道面试题:vue中组件通信接口有哪些,除了props和$emit?

注意是接口,我说了vuex和localStorage,立马就被否决了

一、父子组件通信

1.props和$emit

props最常见的父子通信接口,但是props是单向数据流的形式:父级 prop 的更新会向下流动到子组件中,但是反过来则不行

此时需要借助vue提供的事件监听机制来完成子组件向父组件数据流动更新的功能。 在子组件使用$emit定义监听事件名称,在父组件使用v-on监听该事件,在事件中改变父组件的状态。

// father.vue

2.$parent和$children或者$refs

1) $parent

$parent用来访问父组件实例,通常父组件都是唯一确定的

// children.vue

2) $children

$children用来访问子组件实例,要知道一个组件的子组件可能是不唯一的,所以它的返回值是数组.

// father.vue

3) $refs

$children的缺点是无法确定子组件的顺序,也不是响应式的。所以如果你确切的知道要访问的子组件建议使用$refs。

$refs需要使

你可能感兴趣的:(uniapp,子组件,props拿不到数据,vue,ref是在组件里唯一吗)