首页 > 其他分享 >vue中$set和$forceUpdate强制更新视图层的区别

vue中$set和$forceUpdate强制更新视图层的区别

时间:2023-07-15 14:55:50浏览次数:44  
标签:vue 视图 forceupdate set data forceUpdate

$forceUpdate 原理:调用 notify()  强制视图更新  

$set 原理:defineReactive(this.data数据, 要劫持得数组索引或对象键, 默认值)     建立响应式依赖    指定数据更新

使用场景: 如果data数据的层级过深,导致无法响应式显示

解决方法一:$set()

this.$set(target,key,value)

解决方法二:$forceUpdate()

this.$forceUpdate()

结合vue的生命周期,调用 $forceupdate 后只会触发beforeupdate和updated这两个钩子函数,不会触发其他的钩子函数。它仅仅影响实例本身和插入插槽内容的子组件,而不是所有子组件

-------------------------------------
注意:但是$forceUpdate()这种做法并不推荐,官方说如果你现在的场景需要用$forceupdate方法,那么99%是你的操作有问题,比如data里不显示声明对象的属性,之后添加属性时正确的做法时用 vm.$set() 方法,所以$forceupdate请慎用。

标签:vue,视图,forceupdate,set,data,forceUpdate
From: https://www.cnblogs.com/1314520zqj/p/17556116.html

相关文章

  • vue3 为什么使用 hooks?
    目的为了解决在组件中共享逻辑和状态的问题。 hooks提供了一种更简洁和直观的方式来共享逻辑和状态。vue3中的hooks是基于函数的组件模型,通过在函数组件内部使用特定的hook函数来实现。每个hook函数都有特定的用途,例如:useState用于创建和管理状态,useEffect用于......
  • AJAX请求,响应头有set-cookie但浏览器不能写入cookie问题解决!
    开幕雷击:AJAX就不是干这个ajax只有向服务器发送请求时带上cookie的功能可选。不存在ajax向服务器get的时候带回来cookie的功能。解决把AJAX代码改成原始的js代码来完成需求:正确的jsdocument.addEventListener('DOMContentLoaded',function(){document.querySelector('......
  • abc082d <bitset 状压dp>
    题目D-FTRobot思路动态规划的方式记录每次行动后,机器人在坐标系中所有可能位置通过bitset对状态进行压缩,即每个位置有机器人trueor没有false因为机器人仅按坐标轴方向前进,因而可将xy坐标状态分开存储,进一步降低计算量,也方便使用bitset通过bitset的移位......
  • SpringBoot+Vue3+MySQL集群 开发健康体检双系统
    第1章课程介绍试看4节|38分钟观看项目演示,熟悉大健康体检项目主要功能。掌握学习本课程的最佳方法,以及如何利用在线手册学习和答疑。第2章大健康体检项目全栈环境搭建16节|218分钟利用虚拟机或者云主机安装Linux系统和Docker环境,部署MongoDB、Redis、Minio和RabbitMQ等中......
  • 150.vuerouter中的导航钩子函数
    150.vue-router中的导航钩子函数(1)全局的钩子函数beforeEach和afterEachbeforeEach有三个参数,to代表要进入的路由对象,from代表离开的路由对象。next是一个必须要执行的函数,如果不传参数,那就执行下一个钩子函数,如果传入false,则终止跳转,如果传入一个路径,则导航到对应的......
  • 131.Set和WeakSet结构
    131.Set和WeakSet结构?1.ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。2.WeakSet结构与Set类似,也是不重复的值的集合。但是WeakSet的成员只能是对象,而不能是其他类型的值。WeakSet中的对象都是弱引用,即垃圾回收机制不考虑WeakSet......
  • 146.Vue的生命周期是什么
    146.Vue的生命周期是什么?Vue的生命周期指的是组件从创建到销毁的一系列的过程,被称为Vue的生命周期。通过提供的Vue在生命周期各个阶段的钩子函数,我们可以很好的在Vue的各个生命阶段实现一些操作。......
  • 109.vue双向数据绑定原理
    109.vue双向数据绑定原理?vue通过使用双向数据绑定,来实现了View和Model的同步更新。vue的双向数据绑定主要是通过使用数据劫持和发布订阅者模式来实现的。首先我们通过Object.defineProperty()方法来对Model数据各个属性添加访问器属性,以此来实现数据的劫持,因此当M......
  • kubernetes之 statefulset控制器
    第九部分statefulset控制器参考:https://blog.csdn.net/styshoo/article/details/73731993     https://blog.51cto.com/xuexinhuan/5424144即便是有状态管理,也需要使用脚本来运维。CoreOS:OperatorStatusfulSet:有状态Cattle,petPetSet->StatefulSeta、稳定......
  • Vuex是什么,怎么使用?
    Vuex是一个状态管理库,它为Vue应用程序提供了一个集中式的存储管理机制,用于管理不同组件之间共享的状态数据。Vuex将该状态存储在一个单一的对象树中,这使得在整个应用程序中追踪状态变化变得更加容易和可预测。当我们在一个Vue.js应用程序中编写代码时,我们会遇到以下问题:多个组件需......