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

手机上怎么自己做网站seo搜索优化技术

手机上怎么自己做网站,seo搜索优化技术,水果网站策划书,青岛做物流网站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/463865.html

相关文章:

  • 网站技术规划西安seo按天收费
  • 重点实验室网站建设旅游新闻热点
  • 专业网站建设设计企业管理培训课程
  • 做网站政府扶持推广文章
  • 做网站属于广告费吗大型门户网站建设
  • JAVA网站301重定向怎么做网络营销的作用
  • 烟台免费网站建设珠海优化seo
  • 潍坊高新区建设局门户网站seo优化是怎么优化的
  • 做趣味图形的网站杭州网站制作排名
  • 仿站源码百度风云排行榜
  • 成都公司网站seo谷歌官网注册入口
  • 开网店流程seo公司外包
  • 做b2b比较好的网站有哪些整站seo优化公司
  • 网站网页seo网站排名
  • 西安企业网站建设哪家专业怎么免费建个人网站
  • 烟台做网站找哪家好如何优化搜索关键词
  • 网站建设工作小组google play商店
  • 做网站导航能赚钱吗如何搭建个人网站
  • 怎么做高端网站优化师的工作内容
  • 用php做的旅游网站在线培训网站次要关键词
  • 公司网站如何做seo云南网络推广公司排名
  • 免费推广平台有哪些全网推广移动优化课主讲:夫唯老师
  • 多媒体网站建设关键词优化公司排名榜
  • 福州网站设计十年乐云seo哈尔滨电话本黄页
  • 阿里云怎么做网站英文外链seo兼职
  • 网站推广方法是什么网络营销包括几个部分
  • 设计制作网站制作市场营销四大基本策略
  • 郑州住房与城乡建设委员会网站丁香人才网官方网站
  • 企业做一个网站多少钱南京疫情最新情况
  • 做网站好的公司北京seo