vuejs的传值问题,什么时候会用到子传父或者父传子还要兄弟组件传值呢?

不懂就要问
  • 489

我平时感觉用缓存或者路由传值就可以搞定大多数场景。不知道还有什么场景需要用到这些传值方式呢?

回复
阅读 1.6k
3 个回答

举例子

<页面A>
    <播放器组件 />
    <文本组件A />
    <按钮A />
<页面A />

父传子: 页面A 需要把 播放器的URL 传给 播放器组件
子传父: 播放器组件 有个属性,比如叫 播放状态, 那么页面A可以获取这个播放状态,并显示给 文本组件A, 也可以波播放器组件的一些方法暴露出去给上层
兄弟组件: 按钮A 点击后改变 播放器组件 的一些属性

为什么不用 缓存或者路由 ?

因为缓存和路由数据传值不是响应式的,拿到一次就不会跟着变了,发挥不了vue双向绑定响应式数据的优势

父子或者兄弟传值比你用的缓存或者路由简单得多,这就是价值

浪子回头金不还
  • 36

假设场景:
父组件 <---> 子组件
子组件有父组件需要的数据或者也可以说是某个状态,就可以使用子组件向父组件props+事件传值.....

兄弟组件也是一样, a组件有b组件要用的数据就需要这样互相来传递告知其他组件当前的数据,作用就是大家的数据都要得到同步,可以使用事件总线来做通信
父组件 <---> 兄弟组件1
父组件 <---> 兄弟组件2

以上只是简单的说一种传值方式还有很多方式可以阅读下vue官方文档

宣传栏