问答

vue父组件给子组件传值时,是整合成一个对象传给子组件效率高,

作者:admin 2021-04-20 我要评论

vue父组件给子组件传值时,是整合成一个对象传给子组件效率高,还是一个个属性单独传效率高? ### 父传子通过 prop 进行,每个 prop 都是一个完整的变元 …… 简...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

vue父组件给子组件传值时,是整合成一个对象传给子组件效率高,还是一个个属性单独传效率高?

###

父传子通过 prop 进行,每个 prop 都是一个完整的变元 …… 简单地说就是每次要变就是整个换掉,而不是修改属性

参考:Vue 性能优化 2.4

2.4 利用Object.freeze()提升性能

Object.freeze()?可以冻结一个对象,冻结之后不能向这个对象添加新的属性,不能修改其已有属性的值,不能删除已有属性,以及不能修改该对象已有属性的可枚举性、可配置性、可写性。该方法返回被冻结的对象。

当你把一个普通的 JavaScript 对象传给 Vue 实例的 ?data? 选项,Vue 将遍历此对象所有的属性,并使用 ?Object.defineProperty? 把这些属性全部转为 getter/setter,这些 getter/setter 对用户来说是不可见的,但是在内部它们让 Vue 追踪依赖,在属性被访问和修改时通知变化。

但 Vue 在遇到像?Object.freeze()?这样被设置为不可配置之后的对象属性时,不

会为对象加上 setter getter 等数据劫持的方法。参考 Vue 源码

作者:grain先森
链接:https://www.jianshu.com/p/4e1...
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

###

视不同场景,按照不同业务拆分吧。
例如知道图表组件,分成options,data,title...
使用的时候也方便,也不会因为属性太深检测不到改变。

###

感觉还是得看你的场景,如果是现成的对象,那整个传输过去我感觉会比你一个个点出来然后传到子页面从新整合成对象快
分散的字段或者只需要其中某个字段那种就没必要整个对象传输过去。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • nginx响应速度很慢

    nginx响应速度很慢

  • 点击选中的多选框,会在已选那一栏显示

    点击选中的多选框,会在已选那一栏显示

  • PHP 多态的理解

    PHP 多态的理解

  • 关于C语言中static的问题

    关于C语言中static的问题

腾讯云代理商
海外云服务器