获得徽章 24
- 1. 在 Vue 中,子组件为何不可以修改父组件传递的 Prop?
2. 如果修改了,Vue 是如何监控到属性的修改并给出警告的。
-
- - 1. 因为vue设计是单向数据流,数据的流动方向只能是自上往下的方向;
- - 2. 易于监测数据的流动,出现了错误可以更加迅速的定位到错误发生的位置。
- - 3. 当子组件可以直接修改父组件的 prop 时,会导致其他用到此props的子组件的值也发生改变,导致数据混乱,以及难以追踪的bug。如果props是基础类型,不会造成其他影响,但也会是整个组件数据混乱。
-
- - 在initProps的时候,在defineReactive时通过判断是否在开发环境,如果是开发环境,会在触发set的时候判断是否此key是否处于updatingChildren中被修改,如果不是,说明此修改来自子组件,触发warning提示。
- - 需要特别注意的是,当你从子组件修改的prop属于基础类型时会触发提示。 这种情况下,你是无法修改父组件的数据源的, 因为基础类型赋值时是值拷贝。你直接将另一个非基础类型(Object, array)赋值到此key时也会触发提示(但实际上不会影响父组件的数据源), 当你修改object的属性时不会触发提示,并且会修改父组件数据源的数据。
参考:github.com
展开评论2 - 大家好,我们是阿里巴巴钉钉的前端团队。 我们有着业界领先的技术栈体系和独特的业务形态。在日常工作中,我们主要运用小程序、H5技术来赋能业务的快速奔跑。
钉钉有3亿多的个人用户和超过1500万的企业组织,在钉钉丰富的产品矩阵和体量规模下,前端团队也有了更大的发挥空间和技术场景。
我们有业界领先的桌面前端团队(代码超过20W行),支撑着每天数以亿级的桌面端使用。
● 我们有钉钉H5,大规模的使用React及业界前沿技术栈进行开发。
● 我们有钉钉Node.js,建设前端发布平台、运营中台,赋能前端搭建及研发效率。
● 我们有钉钉容器,从传统jsapi到桌面CEF,提供了丰富的前端场景。
● 我们有钉钉小程序,赋能钉钉业务及ISV,快速实现产品化及商业化。
很高兴掘金提供了这次跟大家一起交流的机会,大家可以问我们关于「钉钉前端」、「前端开发」、「研发框架」、「职业发展」、「个人成长」相关方面的问题。我们会在 2020/6/17-2020/6/19 期间,挑选出有价值有意义的问题进行回答。展开20431 - 评论1
- 有人拿了我的开源作品去这网站卖,该怎么办!!!关键我当时没有写开源协议。真恶心,拿别人开源的东西去卖。
www.fastadmin.net
我的开源地址:github.com
图一是截图对方的页面,
图二我的项目截图展开1317 - LeetCode CN 招人,我们在等这样的你:前端、后端实习生;前端后端社招
简历投递:beichu.zhang@gmail.com
我们的前端主要是 React + Rxjs / 后端是 Python / Node / Go(可能会有更多语言)无时无刻不在尝试和探索新版本和新技术(定期更新依赖)
对于实力并没有太大要求,不会跟市场上一样动不动就「资深」、「N 年工作经验」,计算机基础扎实即可。不用 996,工作体验还 OK,一般福利我就不说了,还是让 HR 小姐姐来聊吧。
如果你也想要 Work Life Balance,或者也喜欢打游戏,请加入我们吧坐标:上海-普陀区。
展开8133