首页 > 其他分享 >vue3

vue3

时间:2023-07-31 10:24:00浏览次数:34  
标签:console log person propName vue3 target

一、vue3最终响应式原理

let person = {
    name: '张三',
    age: 15,
}
//我们管p叫做代理数据,管person叫源数据
const p = new Proxy(person,{
    //target代表的是person这个源对象,propName代表读取或者写入的属性名
    get(target,propName){
        console.log('有人读取了p上面的propName属性')
        return Reflect.get(target, propName)
    },
    //不仅仅是修改调用,增加的时候也会调用
    set(target,propName,value){
        console.log(`有人修改了p身上的${propName}属性,我要去更新界面了`)
        Reflect.set(target, propName, value)
    },
    deleteProperty(target,propName){
        console.log(`有人删除了p身上的${propName}属性,我要去更新界面了`)
        return Reflect.deleteProperty(target,propName) 
    }
})

 

标签:console,log,person,propName,vue3,target
From: https://www.cnblogs.com/lingnweb/p/17592732.html

相关文章

  • vue3
    1、ref深拷贝视图层更新不改变源数据constnum=1constrefNum=ref(num)constclick=()=>{refNum++//refNum已经改变了,但原数据num不变}2、toRef源数据改变不更新视图3、toRefs传入一个响应式对象constobj=reactive{name:"iwen",age:19}//取值为obj.na......
  • 前端系列21集-vue3,轨迹展示
    AMap.InfoWindow<template><div><div:style="customStyle"class="custom-box"><!--Yourcontenthere--></div></div></template><scriptsetup>import{ref,reactive......
  • Vue3中使用TypeScript封装axios遇到的问题(AxiosRequestConfig)
    如果您有更好的解决方法,欢迎评论区评论。版本"dependencies":{"axios":"^1.0.0","vant":"^4.6.3","vue":"^3.3.4","vue-router":"^4.2.4","vuex":&quo......
  • uniapp+vue3+ts 使用pinia报错
    "hasInjectionContext"isnotexportedby"node_modules/vue-demi/lib/index.mjs",importedby"node_modules/pinia/dist/pinia.mjs".11:36:19.397at../node_modules/pinia/dist/pinia.mjs:6:9解决方法:把pinia降级先删除pinianpmunipinia......
  • Vue3 Vite electron 开发桌面程序
    Electron是一个跨平台的桌面应用程序开发框架,它允许开发人员使用Web技术(如HTML、CSS和JavaScript)构建桌面应用程序,这些应用程序可以在Windows、macOS和Linux等操作系统上运行。Electron的核心是Chromium浏览器内核和Node.js运行时环境。Chromium内核提供了现代浏览器的功能,例如HTML......
  • Vue3.3 编译宏
    Vue3.3新增了一些语法糖和宏,包括泛型组件、defineSlots、defineEmits、defineOptionsdefineProps父子组件传参<template><div><Childname="xiaoman"></Child></div></template><scriptlang='ts'setup>importChildf......
  • Vue3 如何开发移动端(安卓,ios)
    Vue3有没有一款好用的开发移动端的工具1.uniapp我个人认为uniapp适合开发小程序之类的,用这个去开发原生应用会存在一些问题性能限制:由于Uniapp是通过中间层实现跨平台,应用在访问底层功能时可能存在性能损失。与原生开发相比,Uniapp在处理大规模数据、复杂动画和高性能要求的应......
  • Vue3 里 script 的三种写法
    一、Vue3里 script 的三种写法首先,Vue3新增了一个叫做组合式api的东西,英文名叫CompositionAPI。因此Vue3的script现在支持三种写法,1、最基本的Vue2写法html复制代码<template><div>{{count}}</div><button@click="onClick">增加1</but......
  • vue3 TS vite element ali-oss使用方式
    vue3TSviteelementali-oss使用方式安装ali-oss包npmiali-oss-S使用oss封装函数constOSS=require('ali-oss')//importOssfrom'ali-oss'/***[accessKeyId]{String}:通过阿里云控制台创建的AccessKey。*[accessKeySecret]{String}:通过阿里云控制......
  • vue3单页面的写法
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scriptsrc="https://unpkg.com/vue@3/dist/vue.global.js"></script></head>......