【发布时间】:2018-06-04 18:02:05
【问题描述】:
我已经尝试搜索了一段时间,但找不到可能已经存在的答案。
在我的应用程序中,我发现我必须反复将相同的道具传递给不同的子组件。例如,我可能有一种方法可以在父组件中切换模式可见性。然后一些子组件可能需要访问这个方法来切换模式。
<nav-bar
:toggleForm='toggleForm'>
</nav-bar>
<header-content
:toggleForm='toggleForm'>
</header-content>
这里有没有办法避免重复?因为我还必须在不同的子组件中编写相同的道具类型检查和验证。感觉像是重复了很多次。
我必须使用 Vuex 来解决这个问题吗?还是不加状态管理系统就可以解决?
谢谢。
【问题讨论】:
-
是的,您必须使用 vuex 或替代方法是使用
events来更改您的子组件属性(在这种情况下,您不需要传递道具,但您仍然需要监听事件并采取行动到那个) -
你可以制作一个定义 props 的 mixin。您也可以使用
inheritAttrs: false和v-bind="attrs"(谷歌搜索)
标签: javascript vue.js vuejs2 vue-component vuex