首页 > 其他分享 >setup配置;ref与reactive

setup配置;ref与reactive

时间:2024-09-26 13:22:08浏览次数:3  
标签:响应 对象 setup reactive props 组件 ref

setup配置

Vue 3中的 setup 函数接收两个参数,分别是 props 和 context。

1、props:值为对象,包含: 组件外部传递过来。切组件内部声明接收了的属性。需要注意的是,Vue3中的 props 是只读的,即在setup 函数中不能修改 props 的值。如果需要修改传递过来的数据,可以使用响应式对象或ref。

2、context:上下文对象。

  • attrs:值为对象,包含组件外部传递过来,但没有在props配置中声明的属性。相当于this.$attrs
  • slots:收到的插槽内容,相当于this.$slots
  • emit:分发自定义事件的函数,相当于this.$emit

注意:

1、这个钩子会在created之前执行

2、内部不存在this

3、如果返回值是一个对象,那么这个对象中的键值对会被合并到created钩子的this中,而在视图上也能访问相应的数据值


ref与reactive

reactive:

(1)、它的响应式是更加‘深层次’的,底层本质是将传入的数据包装成一个Proxy。

(2)、参数必须是对象或者数组,如果要让对象的某个元素实现响应式时比较麻烦。需要使用toRefs

ref:

(1)、函数参数可以是基本数据类型,也可以接受对象类型

(2)、如果参数是对象类型时,其实底层的本质还是reactive,系统会自动根据我们给ref传入的值转换成:reactive

(3)、在template中访问,系统会自动添加.value;在js中需要手动.value

(4)、ref响应式原理是依赖于Object.defineProperty()get()set()的。

标签:响应,对象,setup,reactive,props,组件,ref
From: https://blog.51cto.com/u_16307147/12118428

相关文章

  • 【JS】Reflect
    对象基本方法JS语法操作对象时,本质上是调用一个内部封装好的函数,该函数中又会调用对象的基本方法,通过官方文档可以看到基本方法。在过去,这些对象的基本方法是不会对外暴露的。如下面这段代码,使用JS语法给对象赋值,这种语法会触发JS内部方法,该方法最终会触发对象基本方法[......
  • WPF Error XLS0108 Entity references or sequences beginning with an ampersand '&'
    //https://img1.baidu.com/it/u=3991277133,2041185316&fm=253 <ImageSource="https://img1.baidu.com/it/u=3991277133,2041185316&fm=253"/>SeverityCodeDescriptionProjectFileLineSuppressionStateDetailsErr......
  • useTemplateRef使用
    1、使用ref方式:<template><div><inputtype="text"ref="inputEl"/><button@click="setInputValue">给input赋值</button></div></template><scriptlang="ts"setup&g......
  • abap-platform-refscen-flight SAP ABAP RESTful 应用程序编程模型的
    ABAPFlightReferenceScenariofortheABAPRESTfulApplicationProgrammingModelTheABAPRESTfulApplicationProgrammingModel(RAP)definesthearchitectureforefficientend-to-enddevelopmentofintrinsicallySAPHANA-optimizedFioriapps.Itsuppor......
  • Prefix of Suffixes
    为什么求Z函数的过程又被称为【扩展KMP】呢?因为KMP算法是可以求出哪些后缀能与前缀完全匹配的,而Z函数则对于那些不能完全匹配的后缀,求出了最大的匹配长度现在你已经将问题转化为:在未被标记的后缀中,快速锁定当前新增的字符会使得哪些后缀失配“未被标记”太抽象了,回溯这个条件—......
  • laravel: 报错:Uncaught ReflectionException: Class "view" does not exist
    一,报错信息:UncaughtReflectionException:Class"view"doesnotexistin/web/api/vendor/laravel/framework/src/Illuminate/Container/Container.php:938Stacktrace:#0/web/api/vendor/laravel/framework/src/Illuminate/Container/Container.php(938):Refl......
  • 关于Pinia 使用setup方式书写 $reset方法失效问题
    在当我使用的时候踩到一个坑:当我在使用$reset想要重置state数据的时候,却报错了,经过排查发现是因为没有使用选项式进行编写代码关于$reset方法Pinia文档中只有简短的介绍:您可以通过调用 store 上的 $reset() 方法将状态重置到其初始值:conststore=useStore()store.$reset(......
  • 万象更新 Html5 - es6 进阶: proxy, reflect
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-es6进阶:proxy,reflect示例如下:es6\src\advanced\proxy_reflect.js//Proxy-代理(拦截目标对象的属性操作和函数操作)lettarget={name:'webabcd',age:40,gethello(){......
  • Linux读写者管理sharefile文件,多个客户端向服务器输送信息,由服务器为中转站将信息存入
    Linux系统读写者将文件存入sharefile文件中,同时由多个客户端向服务器输入通信信息,并由服务器为中转站,将信息传入sharefile文件中(由于读写者存入sharefile文件的路径问题,sharefile文件要放入Linux虚拟机的“公共”文件中,不然不能运行,同时要将文件分开每个Makefile文件都要放在对......
  • window.location.href和window.open的几种用法和区别
    window.location.href和window.open的几种用法和区别2017年05月26日09:47:40阅读数:823阅读目录一、location.href常见的几种形式二、location.href不同形式之间的区别三、location.href总结四、window.location.href和window.open的区别使用js的同学一定知道j......