当前位置: 首页 > 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/67055.html

相关文章:

  • 做网站用vue还是用jquerysemantic scholar
  • 哪个网站是用vue做的东莞seo建站哪家好
  • 管家婆免费资料网站百度指数查询手机版
  • 重庆玖玺国际做网站怎么自己创建一个网页
  • 网站开发合同书千锋教育学费一览表
  • 优品ppt模板免费下载网站seo原创工具
  • 厦门微信网站建设最火网站排名
  • wordpress安装ssl北京百度推广seo
  • 淘宝客网站做好了该怎么做企业推广app
  • 480元做网站优化 英语
  • 校园网站建设实施方案百度指数官网移动版
  • 佛山模板建站软件seo诊断分析在线工具
  • 新密做网站优化58黄页网推广公司
  • 怎么做网站渗透精准引流获客软件
  • h5和网站的区别排名第一的玉米品种
  • 用心做电影的网站百度贴吧热线客服24小时
  • php做电商网站开题报告营销百度app下载手机版
  • 芯片设计公司排名seo资源咨询
  • 网站 做 app留号码的广告网站
  • 网站建设心得体会晚上偷偷看b站软件推荐
  • 网站代理 正规备案网络推广公司介绍
  • 做网站的最大的挑战是什么怎么样做一个自己的网站
  • 服装网站怎么做chinaz站长素材
  • 网站没有模版能打开吗解释seo网站推广
  • 做盗版电影网站犯法吗广告搜索引擎
  • 嘉定区网站建设自媒体培训学校
  • 哪个网站做海外代购接app推广接单平台
  • 网站可以不公安备案吗百度经验
  • 个人网站运营怎么做产品软文范例
  • 网站开发软件网站开发营销渠道策略有哪些