vue 子组件直接更改 props 有啥不良后果?

发布于 2022-09-12 02:32:33 字数 94 浏览 13 评论 0

1.props 不同的类型情况,如为数字,字符串,或对象类型,函数类型,直接修改props的不良后果有区别吗?

2.不加 .sync 修饰符,有啥不良后果?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

最美的太阳 2022-09-19 02:32:34

基本类型你修改也没用。

引用类型倒是可以修改,但是数据流向不清晰

胡渣熟男 2022-09-19 02:32:34

比如两个组件都使用了同一个 prop,A 组件改了,B 组件里可能也会有变化,导致数据变化超出父组件的控制,是个隐患,容易造成问题。

酒儿 2022-09-19 02:32:34

1、prop是用来父子间单向数据流动的,父prop的更新会向下传递到子prop,反过来不行。
但是如果prop如果是引用类型(对象和数组),其在子组件的改变也是会导致父prop的意外修改。
这不符合单向数据流的设计初衷,使得数据流向难以把控。

另外一个,父组件每次变更时也会刷新子组件的prop,如果你修改了子组件的prop并将其在代码中使用,可能会意外的发现子prop发生了意料之外的改变,子prop又变成了父prop传入的数值,而且你很难把控改变的时机。

2、sync修饰符只是个语法糖,只有在你必须双向绑定父子组件的时候才使用,不用这个用emit和on也行,原理一样。

建议翻一翻教程,都有的东西

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文