【发布时间】:2019-01-05 19:10:54
【问题描述】:
我有一个自定义组件,它的自定义 data() 对象。我有一个案例,我需要在主屏幕和页脚中重用相同的组件(计算器):
<header>
<Calculator/>
</header>
<footer>
<Calculator/>
</footer>
我可以毫无问题地使用它,但它们将是此计算器组件的独立实例,例如:如果我在第一个 calc 实例上更改一个值,它不会反映在页脚中的第二个实例上。
是否可以在页眉和页脚中说“复制”这个 calc 实例?就像包含在模板引擎中一样。
【问题讨论】:
-
您可以更改父组件中的值并将其作为道具传递给计算器组件
<Calculator :someValue="yourParentValue" />。或者使用像 Vuex 这样的商店,但我认为这有点矫枉过正。 -
为你的两个组件添加道具。接受作为道具输入或您传递的任何值。如果它更复杂,请使用 vuex 并使组件的状态全局化。这样,无论您拥有多少个组件副本,所有依赖于该信息的组件都会更新。
-
这个answer 可能很有趣。
标签: javascript vue.js