Vue-(7)
admin
2024-01-19 05:50:54

内容概览

  • vue3介绍
  • 创建vue3项目的两种方式
  • setup函数
  • ref与reactive
  • 计算属性和监听属性
  • 生命周期
  • hooks
  • toRefs

vue3介绍

1.性能的提升打包大小减少41%初次渲染快55%, 更新渲染快133%内存减少54%
2.源码的升级使用Proxy代替defineProperty实现响应式重写虚拟DOM的实现和Tree-Shaking
3.拥抱TypeScriptVue3可以更好的支持TypeScript
4.新的特性Composition API(组合API)setup配置ref与reactivewatch与watchEffectprovide与inject新的内置组件FragmentTeleportSuspense其他改变新的生命周期钩子data 选项应始终被声明为一个函数移除keyCode支持作为 v-on 的修饰符5 组合式API和配置项API-使用组合式API-配置项API-{name:'xx',data:function(){},methods:{}}

创建vue3项目的两种方式

"""vue-cli:创建vue2和vue3"""   跟之前一样
"""vite:创建vue3"""# 创建最新版本npm init vue@latest# Pinai,Vue 的存储库,它可以跨组件/页面共享状态(与vuex功能类似)# vite创建另一种方式:创建vue3.0.4版本npm init vite-app ## 进入工程目录cd ## 安装依赖npm install## 运行npm run dev"""以后再页面中的this,已经不是vue2中的vc对象了,是一个代理对象"""

setup函数

# vue新增的setup配置项函数
在里边可以定义变量、定义函数
变量与函数需要return出去才能够在模板中使用

Children组件:

ref与reactive

# 导入使用: import {ref, reactive} from 'vue'
# 基本数据类型(数字,字符串,布尔)如果要加响应式,使用ref包裹;模板中直接使用,js中通过对象.value获取
# 对象/数组如果要加响应式,使用reactive
# ref也可以包裹对象

计算属性与监听属性

计算属性

1. 计算属性案例一
2. 计算属性案例二
3. 定义计算属性

监听属性


生命周期

# Vue3.0中可以继续使用Vue2.x中的生命周期钩子,但有有两个被更名:beforeDestroy改名为 beforeUnmountdestroyed改名为 unmounted
# Vue3.0也提供了 Composition API 形式的生命周期钩子,与Vue2.x中钩子对应关系如下:beforeCreate===>setup()created=======>setup()beforeMount ===>onBeforeMountmounted=======>onMountedbeforeUpdate===>onBeforeUpdateupdated =======>onUpdatedbeforeUnmount ==>onBeforeUnmountunmounted =====>onUnmounted

hooks

# 什么是hook?—— 
本质是一个函数,把setup函数中使用的Composition API进行了封装。
类似于vue2.x中的mixin。
自定义hook的优势: 复用代码, 让setup中的逻辑更清楚易懂

获取鼠标点击坐标案例

  • hooks/usePoint.js
import {onMounted, onUnmounted, reactive} from 'vue'export default function () {let p = reactive({x: 0,y: 0})function getPoint(event) {console.log(event)  // 在event中获取点击坐标p.x = event.pageXp.y = event.pageY}// 生命周期钩子的onMounted,当页面挂载完成后执行onMounted(() => {// 给鼠标点击增加监听,当点击鼠标,就会执行函数window.addEventListener('click', getPoint)})// 当组件被销毁时,把功能去除onUnmounted(() => {window.removeEventListener('click', getPoint)})return p
}
  • 在想要使用的组件中引入使用即可

toRefs

# ...{xxx:yyy}对应python的**{'xxx':'yyy'}
# setup函数,return{...toRefs(data)}可以解压赋值

后台管理模板

# vue-admin-template-master-package.json 第7行加入"dev": "set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service serve",# java版的若依,带权限控制的后台管理模块
# python :django-vue-admin   
# python flask-vue-admin
# go:gin-vue-admin

上一篇:秋夜是场景

下一篇:赵北口唱第三杂

相关内容

热门资讯

放得下的是曾经,放不下的是记忆...   1、过去的只能用来怀念,我却没有了怀念的勇气。  2、有些人,爱了就是爱了,一辈子都不会后悔。 ...
习惯了一个人、因为没有谁陪在我...   1、分手后的思念,不叫思念,叫犯贱。  2、回想过去,多少欢乐,多少惆怅  3、风吹干潮湿的泪水...
人生自古谁无死,早死晚死都得死...   1、你是我的优乐美这样我喝完就可以把你扔掉咯。  2、都说女人是善变,事实证明,男人才是变色龙。...
另类爱情说说,我的心变了,你不...   1、只有自己的影子,才是最忠诚,永远不会遗弃自己。  2、两个人在一起,情感交换很重要,也是一种...
爱情是容易被怀疑的幻觉 爱情是...   1、如果一开始,你就不要出现在我的面前,那么,我也许就不会知道幸福的滋味  2、她心甘情愿放弃,...