Vue 最佳实践,道具对象还是原始类型?

Han*_*ank 5 vue.js

Vue 支持原始类型和对象作为 props 将它们从父级传递给它的子级。

我听说过始终传递原始类型而不是传递对象是最佳实践。可能是因为原始类型如果更改就很容易检测到。

这是真的吗?这是最佳实践还是愚蠢的东西?

Mar*_*sti 5

没有真正的“最佳实践”,这实际上取决于您想要实现的目标。
您实际上可以使用两者,但请记住,在传递非基元时,您传递的是 POINTER 而不是实际对象。因此,当修改子对象内的所述对象时,您还将修改原始对象。

如果您要传递要修改的对象,但作为“副本”,您始终可以使用扩展运算符来传递它们以创建副本。

{ ...myObject }
[ ...myArray ]

<child-object :someprop="{...object}"></child-object>
Run Code Online (Sandbox Code Playgroud)

这样,您可以确保如果要在子级修改对象,子级拥有该对象的副本,并且您不会在父级上遇到意外行为。