vue3.0 如何使用useroute(详解vue3中setUp和reactive函数的用法)
vue3.0 如何使用useroute
详解vue3中setUp和reactive函数的用法1 setUp的执行时机
我们都知道,现在vue3是可以正常去使用methods的。
但是我们却不可以在setUp中去调用methods中的方法。
为什么了???
我们先了解一下下面这两个生命周期函数,分别是:
beforeCreate 表示data 中的数据还没有初始化,是不可以使用的
Created : data已经被初始化了,可以使用
setUp在beforeCreate 和 Created 这两个函数之间。
是不是就知道为啥setUp中不可以去调用methods中的方法了。
2.setUp中无法使用data中的数据和调用methods的方法
<script> export default { name: 'App', data:function(){ return { mess:"我是data" } }, methods:{ func(){ console.log("methods中的func") }, }, setup(){ console.log('this',this);//undefined this.func();//无法调用的哈 }, } </script>
3.setUp函数的注意点
(1)由于我们不能够在setUp函数中使用data和methods.
所以vue为了避免我们的错误使用,直接将setUp函数中的this
修改成为了undefined
(2) setUp函数只能够数同步的,不能够是异步的哈。
就是说你不能够这样操作
async setup(){
},
这样会导致界面空白哈
4 Vue3中的reactive
在Vue2中响应式数据是通过de fineProperty来实现的.
而在Vue3中响应式数据是通过ES6的Proxy来实现的
reactive需要的注意点
reactive参数必须是对象(json/arr)
如果给reactive传递了其它对象
默认情况下修改对象,界面不会自动更新
如果想更新,可以通过重新赋值的方式
5 reactive传入字符串数据不跟新
<template> <li> <li> <li>{{str}}</li> <button @click="func1">按钮</button> </li> </li> </template> <script> import {reactive} from 'vue' export default { name: 'App', setup(){ // reactive 的本质就是传入的数据包装成一个proxy对象 // 由于在创建的时候,传递的不是一个对象,那么将不会实现响应式。 let str=reactive(123) function func1(){ console.log(str);//123 str=666; } return {str,func1 } }, } </script>
我们发现点击按钮的时候,视图并没有更新。
因为我们传不是一个对象.如果想跟新视图。
应该使用ref函数
6 reactive传入数组
<template> <li> <li> <li>{{arr}}</li> <button @click="func1">按钮</button> </li> </li> </template> <script> import {reactive} from 'vue' export default { name: 'App', setup(){ let arr=reactive([{name:'张三',age:19},{name:'李四',age:39}]) function func1(){ arr[0].name="我是张三的哥哥" } return {arr,func1 } }, } </script>
7 reactive传入其他对象的跟新方式
<template> <li> <li> <li>{{sate.time}}</li> <button @click="func1">按钮</button> </li> </li> </template> <script> import {reactive} from 'vue' export default { name: 'App', setup(){ let sate=reactive({ time:new Date() }) function func1(){ //传入的是其他对象,直接跟新 sate.time="2021年-6月-9日"; } return {sate,func1 } }, } </script>
以上就是vue3 setUp和reactive函数详细讲解的详细内容,更多关于vue3 setUp和reactive函数的资料请关注开心学习网其它相关文章!
- vue中什么时候需要set属性(Vue.set和this.$set使用和区别)
- vue表单上传图片数据(vue-cropper插件实现图片截取上传组件封装)
- vue单元测试实例(Vue-Jest 自动化测试基础配置详解)
- vue动态路由实现权限控制(vue2/vue3路由权限管理的方法实例)
- vue动态生成的下拉框如何获取值(Vue 级联下拉框的设计与实现)
- vue应用转flutter(Vue和Flask通信的实现)
- vue图片切换软件(Vue实现简单图片切换效果)
- vue实现展开动画(Vue组件实现旋转木马动画)
- vue点击事件动态禁用(vue开发移动端使用better-scroll时click事件失效的解决方案)
- 使用vue-cli构建electron项目(MAC+PyCharm+Flask+Vue.js搭建系统)
- vue项目部署到服务器的nginx(Nginx部署vue项目和配置代理的问题解析)
- vue路由跳转自动定位在哪里(Vue路由this.route.push跳转页面不刷新的解决方案)
- vue3.0 自定义组件(Vue 3.0自定义指令的使用入门)
- vue组件轮播(vue+rem自定义轮播图效果)
- vue过滤器使用思路(vue 过滤器和自定义指令的使用)
- springbootvue数据交互系统(Springboot运用vue+echarts前后端交互实现动态圆环图)
- ()
- 对你思念入骨的女人,跟你见面时会有这几种表现,藏都藏不住(对你思念入骨的女人)
- 纳兰性德绝美作,一场重逢,成就最后一首称得上惊艳的《如梦令》(纳兰性德绝美作)
- 如何快速赚钱(如何快速赚钱方法真实有效)
- 这里输入关键词(如何输入关键词)
- 熊猫中国国宝(熊猫国宝酒53酱香)
热门推荐
- 怎么搭建服务器然后搭建网站(用自己的电脑做服务器搭建网站并让互联网访问)
- vueelementui动态表格(Vue Element前端应用开发之常规的JS处理函数)
- python编程ai人工智能(AI领域都在用Python即将被淘汰?网友预测未来的编程语言不会是TA)
- 安装SQL Server 2016出错提示:需要安装oracle JRE7 更新 51(64位)或更高版本问题的解(安装SQL Server 2016出错提示:需要安装oracle JRE7 更新 5164位或更高版本问题的解)
- css中width:auto和width:100%的区别
- 使用docker对集群进行管理(使用docker搭建kong集群操作)
- html5图片动画制作(HTML5 3D旋转相册的实现示例)
- 阿里云负载均衡垂直扩容(阿里云负载均衡SLB安装SSL证书的方法)
- mysql密码设置(mysql密码中有特殊字符&在命令行下登录的操作)
- html元素和属性的区别(HTML5 HTMLCollection和NodeList的区别详解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9