当前位置: 首页 > wzjs >正文

怎么给别人做网站网站seo排名优化工具推荐

怎么给别人做网站网站,seo排名优化工具推荐,国外直播sdk,桂林新闻网桂林人论坛Vue 中的 $set 方法(Vue.set)主要用于 向响应式对象中添加一个新的属性,并确保这个新属性是响应式的,能够触发视图更新。 📌 背景问题:为什么需要 $set? 在 Vue 2 中,直接给对象新增…

Vue 中的 $set 方法(Vue.set)主要用于 向响应式对象中添加一个新的属性,并确保这个新属性是响应式的,能够触发视图更新。


📌 背景问题:为什么需要 $set

在 Vue 2 中,直接给对象新增属性不会触发视图更新,例如:

this.obj.a = 123 // 如果 a 原本不存在,则不会触发视图更新

这是因为 Vue 2 是基于 Object.defineProperty 来实现响应式系统的,它在对象初始化时只能“劫持”已有属性,无法监控新增的属性


$set 的作用

this.$set(obj, key, value)

或者

Vue.set(obj, key, value)

它的作用是:

  1. 为对象添加新属性

  2. 让这个新属性是响应式的

  3. 触发视图更新


🧠 原理解析(Vue 2)

Vue.set = function (target, key, val) {if (Array.isArray(target) && isValidIndex(key)) {// 对数组使用 splice 替代设置target.splice(key, 1, val)return val}if (key in target && !(key in Object.prototype)) {target[key] = valreturn val}const ob = target.__ob__  // 这是 Observer 实例if (!ob) {target[key] = valreturn val}defineReactive(ob.value, key, val) // 核心:为新属性定义响应式ob.dep.notify()  // 通知依赖更新return val
}

核心步骤:

  1. 判断是否是数组:数组用 splice 替代赋值(因为 Vue 对数组的监听基于方法拦截)。

  2. 通过 defineReactive() 为新属性添加 getter/setter,注入依赖收集逻辑。

  3. 通知依赖更新视图(dep.notify()


🧪 示例

<template><div>{{ user.name }}</div><button @click="addProp">添加新属性</button>
</template><script>
export default {data() {return {user: {}}},methods: {addProp() {this.$set(this.user, 'name', '张三') // 触发视图更新}}
}
</script>

🆕 Vue 3 呢?

Vue 3 中,由于使用了 Proxy 实现响应式,不需要 $set,你可以直接赋值:

reactiveObj.newKey = 123 // ✅ 直接响应式,无需 $set

🧩 总结

项目Vue 2Vue 3
添加响应式属性需要 $set不需要,直接赋值即可
实现机制Object.defineProperty + defineReactiveProxy 拦截所有操作
数组监听依赖重写 push/splice 等方法Proxy 完整拦截

需要我帮你用简单代码实现一个简化版的 $set 吗?可以更好理解它的内部逻辑。

http://www.dtcms.com/wzjs/429854.html

相关文章:

  • 网站在哪备案网站排名优化技巧
  • 快速建手机网站商业推广
  • 99999在线影院狂野大陆成都seo学徒
  • 山儿网站建设公司2023年6月份又封城了
  • wordpress文章存在哪seo是什么职务
  • 有哪些网站可以做设计挣钱网站建设的意义和作用
  • 新手做网站起步教程手机端网站优化
  • 四川省查询建设人员注册证书网站seo外链网
  • 南宁设计网站建设制作网页的基本步骤
  • 长沙建网站的免费网页制作平台
  • 做采集的网站有流量吗某网站seo策划方案
  • 做淘宝客网站好搭建吗?南宁百度seo排名优化软件
  • 沈阳高端网站建设中国第三波疫情将在9月份
  • 国外美容院网站北京网站
  • 天津网站建设公司宁波seo关键词排名
  • 优质网站建设服务厦门百度广告开户
  • 阿里云做网站教程怎么做电商新手入门
  • ssh实训做网站代码下载西安网站seo公司
  • 大业推广网站怎么接广告赚钱
  • b站推广网站2024不用下载百度快照怎么用
  • 信云科技的vps怎么做网站企业seo排名优化
  • 实木餐桌椅网站建设公司网站推广哪家好
  • 网站建设 开发的团队需要几个人大庆黄页查询电话
  • 沧州做网站的公司排名推广公众号的9种方法
  • 做学校网站素材图片大全电子网址怎么创建
  • 做网站每个月可以赚多少宣传方式
  • 上海市人民政府郑州网站seo服务
  • 建网站要多少钱呢帮平台做推广怎么赚钱
  • 一个企业网站如何能放到互联网上 vps排名优化网站seo排名
  • 摄影网站的需求分析最近一周的国内新闻