关于重置对象属性

比如vue清空表单绑定的属性值,是直接构造函数重新生成一个新对象,还是循环清空当前对象的值
哪个性能更好呢?

阅读 4.4k
4 个回答

Object.assign(this.$data.formData, this.$options.data().formData)
简单粗暴完事

如果你结合表单验证来做的话,本身form是有 reset的这个方法的,可以进行重置

当然,重置 和清空不一定是一个概念。

如果单纯的清空,建议 重新创建对象

根据vue的数据检测是基于Object的Proxy对象或defineProperty方法,
所以推荐生成新对象。

循环清空当前对象的劣势:

  1. 未绑定手动新增的属性无法清除;
  2. 性能相对低;
  3. 如果本身data是数组,直接改变某项或清空长度,视图不会发生改变。

循环清空对象值比较好。循环清空对象值只是viewModel实例中的数据修改操作DOM树改变(即当前viewModel可服用)。而重新创建新对象。会销毁之前的viewModel并重新创建新的viewModel实例,重新创建viewModel所带来的性能消耗远比细小修改所带来的消耗大。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题