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

鲜花网站前台数据库建设娃哈哈网络推广方案

鲜花网站前台数据库建设,娃哈哈网络推广方案,网站建设步骤大全,网站建设创业经历1.vue2响应原理 1.1对于对象与数组 对象类型: 通过 object.defineProperty() 对属性的读取、修改进行拦截 (数据劫持) 数组类型:通过重写更新数组的一系列方法来实现拦截。 (对数组的变更方法进行了包裹) Vue2的响应式是基于Object.defineProperty实现的 1.2 基本原理Objec…

1.vue2响应原理

1.1对于对象与数组

对象类型: 通过 object.defineProperty() 对属性的读取、修改进行拦截 (数据劫持)

数组类型:通过重写更新数组的一系列方法来实现拦截。 (对数组的变更方法进行了包裹)

 Vue2的响应式是基于Object.defineProperty实现的

1.2 基本原理Object.defineProperty

        把一个普通的 JavaScript 对象传入 Vue 实例作为 data 选项,Vue 将遍历此对象所有的 property,并使用 Object.defineProperty 把这些 property 全部转为 getter/setter。Object.defineProperty 是 ES5 中一个无法 shim 的特性,这也就是 Vue 不支持 IE8 以及更低版本浏览器的原因。

// 响应式函数
function reactive(obj, key, value) {Object.defineProperty(data, key, {get() {console.log(`访问了${key}属性`)return value},set(val) {console.log(`将${key}由->${value}->设置成->${val}`)if (value !== val) {value = val}}})
}
const data = {name: '林三心',age: 22
}
Object.keys(data).forEach(key => reactive(data, key, data[key]))
console.log(data.name)
// 访问了name属性
// 林三心
data.name = 'sunshine_lin' // 将name由->林三心->设置成->sunshine_lin
console.log(data.name)
// 访问了name属性
// sunshine_lin
// 接着上面代码data.hobby = '打篮球'
console.log(data.hobby) // 打篮球
data.hobby = '打游戏'
console.log(data.hobby) // 打游戏

        data新增了hobby属性,进行访问和设值,但是都不会触发get和set,所以弊端就是:Object.defineProperty只对初始对象里的属性有监听作用,而对新增的属性无效。这也是为什么Vue2中对象新增属性的修改需要使用Vue.$set来设值的原因。 

1.3 存在问题

新增,删除属性,页面未更新。

直接通过下标修改数组,页面未自动更新。

确保数据响应式如下

vue2-this.$set($delete,$get)确保数据响应性的实例方法-CSDN博客文章浏览阅读484次,点赞21次,收藏17次。this.$set确保数据响应性的实例方法 https://blog.csdn.net/2301_76671906/article/details/145710361?fromshare=blogdetail&sharetype=blogdetail&sharerId=145710361&sharerefer=PC&sharesource=2301_76671906&sharefrom=from_link

2.vue3响应原理

Vue3的响应式是基于ES6的Proxy来实现

对应学习来自于此处,学习记录

https://segmentfault.com/a/1190000041207010https://segmentfault.com/a/1190000041207010

vue3-07模拟vue3的响应式原理Proxy (代理对象)与Reflect (反射对象)-CSDN博客模拟vue3的响应式原理Proxy (代理对象)与Reflect (反射对象) https://blog.csdn.net/2301_76671906/article/details/145890823?fromshare=blogdetail&sharetype=blogdetail&sharerId=145890823&sharerefer=PC&sharesource=2301_76671906&sharefrom=from_link 

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

相关文章:

  • 加强本单位政务网站建设哪些网站做的好
  • 网站推广网站运营专员是干嘛的
  • 成都便宜做网站的建站之星多语言
  • 舒城网站建设做彩票的网站吗
  • 做网站优化竞价区别网络流量统计工具
  • 四川移动网站建设报价毕业生登记表自我鉴定模板
  • 做移动网站建设wordpress08
  • xml做网站源码wordpress远程发布XML
  • 如何在阿里云建设网站徐州金网网站建设
  • 哪个网站能接施工图来做阿里邮箱 wordpress
  • 韩国网站设计欣赏湖南如何做网络营销
  • 佛山市品牌网站建设哪家好乡下自家院子设计图片
  • 茂名做网站报价怎样建立公众号
  • 网站改自适应 做自适应东莞临时工最新招聘信息
  • 医疗网站备案要怎么做 需要准备什么材料北京建网站报价
  • 高大上网站如何利用互联网宣传与推广
  • 延安网站建设电话咨询手机百度账号申请注册
  • 垂直型网站名词解释北京网站建设中心
  • 门户网站的营销特点网站建设可行性的分析
  • 链接提交济源网站优化
  • 企业网站规划案例房产网站建设
  • 门户网站管理系统wordpress建站中英文
  • wordpress 页面模板 不显示山东济南网站制作优化
  • 记事本做网站代码手机网站设计咨询
  • 网站建设征求意见分析报告机关网站建设管理工作总结
  • 青海网站如何建设深圳关键词优化平台
  • 南昌网站页面优化江西网站设计哪家好
  • 3建设营销型网站流程图北京外语网站开发公司
  • 5118网站如何使用免费版企业做网站的好处有哪些
  • 哈尔滨网站建设教学网站开发答辩ppt