Vue3的其他属性和API函数
customRef() 自定义Ref函数实现Ref()的相关功能

1 <script>
2 import { ref customRef} from 'vue'
3
4 function myRef(value){
5 return customRef((track,trigger)=>{
6 return {
7 get(){
8 track() // 告诉Vue这个数据是需要追踪变化的
9 return value
10 }
11 set(newValue){
12 value = newValue;
13 trigger(); // 告诉Vue触发界面更新
14 }
15 }
16 })
17
18
19 }
20
21 setup(){
22
23 let age = myRef(18);
24 function myFn(){
25 age.value +=1;
26 }
27 return {age,myFn}
28 }
29 </script>
30 通过customRef() 实现自定义ref()的功能。
由于setup函数只能够是同步的,因此在setup函数中获取数据需要逐步回调。
export default {
name:'App',
setup(){
let state = ref([]);
fetch('../public/data.json')
.then((res)=>{
return res.json()
})
.then((data)=>{
state.value = data;
})
.catch((err)=>{
console.log(err);
})
return {state};
}
}
因此通过自定义ref() 可以实现获取数据的代码分离更好维护的目的。

export default {
name:'App',
// 自定义ref 获取数据
myRef(value){
fetch(value)
.then((res)=>{
return res.json()
})
.then((data)=>{
state.value = data;
trigger() // 获取成功更新UI界面
})
.catch((err)=>{
console.log(err);
})
return customRef((track,trigger)=>{
return {
get(){
track();
return value;
},
ste(newValue){
value = newValue
trigger()
return value
}
}
})
},
setup(){
let state = this.myRef('../public/data.json');
return {state};
}
}
提取界面的DOM元素:



在setup函数中调用生命周期函数,就可以获取通过ref获取界面中DOM结点元素的值。
Vue3的其他属性和API函数的更多相关文章
- Windows API 函数列表 附帮助手册
所有Windows API函数列表,为了方便查询,也为了大家查找,所以整理一下贡献出来了. 帮助手册:700多个Windows API的函数手册 免费下载 API之网络函数 API之消息函数 API之 ...
- C#中可直接调用WIN32的API函数--USER32.DLL
Win32的API函数可以直接在C#中直接调用,在做WinForm时还是很有帮助的.有时候直接调用Win32的API,可以很高效的实现想要的效果. using System; using System ...
- Appium常用的API函数
在学习应用一个框架之前,应该了解一下这个框架的整体结构或是相应的API函数.这篇文章还不错:http://blog.sina.com.cn/s/blog_68f262210102vzf9.html,就 ...
- mfc 调用Windows的API函数实现同步异步串口通信(源码)
在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信.串口通信方便易行,应用广泛. 一般情况下,工控机和各智能仪表通过RS485总线进行通信.RS485的通信方式是半 ...
- C#调用Windows API函数截图
界面如下: 下面放了一个PictureBox 首先是声明函数: //这里是调用 Windows API函数来进行截图 //首先导入库文件 [System.Runtime.InteropServices ...
- C#中导入Win32 API函数
C#中导入Win32 API的方法: 1.引用命名空间 using System.Net.Security; using System.Runtime.InteropServices; 2. [Dll ...
- 初识API函数
我之前是一个只会编写数值计算的程序的OIer,但我并不甘于这种现状,于是我编写了我的第一个使用API函数的C++程序,开发平台是VS2012: // ConsoleApplication.cpp : ...
- Linux 编程中的API函数和系统调用的关系【转】
转自:http://blog.chinaunix.net/uid-25968088-id-3426027.html 原文地址:Linux 编程中的API函数和系统调用的关系 作者:up哥小号 API: ...
- [转]SQLITE3 C语言接口 API 函数简介
SQLITE3 C语言接口 API 函数简介 说明:本说明文档属作者从接触 SQLite 开始认识的 API 函数的使用方法, 由本人翻译, 不断更新. /* 2012-05-25 */ int sq ...
随机推荐
- 在Ant脚本中使用时间戳
时间戳在项目自动构建中广泛使用,例如在jar文件的manifest文件中,以及最后zip包的文件名里等,时间戳对应的Ant命令是,这个标签既可以用在一个内部,也可以放在外部用作"全局&quo ...
- Windows提权总结
当以低权用户进去一个陌生的windows机器后,无论是提权还是后续做什么,第一步肯定要尽可能的搜集信息.知己知彼,才百战不殆. 常规信息搜集 systeminfo 查询系统信息 hostname 主机 ...
- 痞子衡嵌入式:i.MXRT中不支持DQS的FlexSPI引脚组连接Flash下载与启动注意事项
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT中不支持DQS的FlexSPI引脚组连接Flash下载与启动注意事项. 最近痞子衡在支持一个印度客户,这个客户项目主芯片选择 ...
- pikachu Unsafe Fileupload
不安全的文件上传漏洞概述文件上传功能在web应用系统很常见,比如很多网站注册的时候需要上传头像.上传附件等等.当用户点击上传按钮后,后台会对上传的文件进行判断 比如是否是指定的类型.后缀名.大小等等, ...
- 一篇文章让你搞懂如何通过Nginx来解决跨域问题
Nginx跨域实现 首先大家要搞清楚什么是跨域,为什么会有跨域情况的出现.哪些情况属于跨域? 跨域:由于浏览器的同源策略,即属于不同域的页面之间不能相互访问各自的页面内容 注:同源策略,单说来就是 ...
- NOIP 模拟 7 考试总结
T1 超级大水题,用 \(kmp\) 和 \(hash\) 均能过,但都忘了,结果只打了个暴力.难受.板子题,题解就不放了 Code #include<bits/stdc++.h> #de ...
- TP6 服务器响应500时没有错误信息的解决方案
重点!!!! 首先,确认你的电脑管理员账户是否含有中文!!!!!!就像下面这种:所以出现了没有错误提示 查看nginx日志显示\vendor\topthink\framework\src\thi ...
- MVVMLight学习笔记(四)---RelayCommand初探
一.概述 在MVVM Light框架中,主要通过命令绑定来进行事件的处理. WPF中,命令是通过实现 ICommand 接口创建的. ICommand 公开了两个方法(Execute 及 CanExe ...
- 01.SpringMVC之概述
springMVC架构 SpringMVC是Spring框架的一个模块,Spring和SpringMVC无需通过中间整合层进行整合.SpringMVC是基于MVC架构的WEB框架.SpringMVC框 ...
- Mysql 修改本地密码
第一步 update user set authentication_string=password('root') where user='root' and host='localhost'; 第 ...