【问题标题】:Avoid repeatedly passing down same props to child components Vuejs避免重复将相同的 props 传递给子组件 Vuejs
【发布时间】:2018-06-04 18:02:05
【问题描述】:

我已经尝试搜索了一段时间,但找不到可能已经存在的答案。

在我的应用程序中,我发现我必须反复将相同的道具传递给不同的子组件。例如,我可能有一种方法可以在父组件中切换模式可见性。然后一些子组件可能需要访问这个方法来切换模式。

<nav-bar 
  :toggleForm='toggleForm'>
</nav-bar>
<header-content
  :toggleForm='toggleForm'>
</header-content>

这里有没有办法避免重复?因为我还必须在不同的子组件中编写相同的道具类型检查和验证。感觉像是重复了很多次。

我必须使用 Vuex 来解决这个问题吗?还是不加状态管理系统就可以解决?

谢谢。

【问题讨论】:

  • 是的,您必须使用 vuex 或替代方法是使用 events 来更改您的子组件属性(在这种情况下,您不需要传递道具,但您仍然需要监听事件并采取行动到那个)
  • 你可以制作一个定义 props 的 mixin。您也可以使用inheritAttrs: falsev-bind="attrs"(谷歌搜索)

标签: javascript vue.js vuejs2 vue-component vuex


【解决方案1】:

感谢您的回答。在根据答案进行更多搜索后,这些是少数解决方案。

  1. 为父/子组件使用事件:doc
  2. 如果在组件之间使用事件总线:doc
  3. 使用 Vuex

【讨论】:

    猜你喜欢
    • 2021-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    • 1970-01-01
    相关资源
    最近更新 更多