位置: IT常识 - 正文

vue3指导教程(附带获取屏幕可视区域宽高)(vue3.0教程)

编辑:rootadmin
vue3指导教程(附带获取屏幕可视区域宽高) 一、从vue2到vue3

推荐整理分享vue3指导教程(附带获取屏幕可视区域宽高)(vue3.0教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue3技巧,vue3技巧,vue3jsx,vue3官方教程,vue3怎么用,vue3 教程,vue3 教程,vue3 教程,内容如对您有帮助,希望把文章链接给更多的朋友!

        vue3.0 向下兼容 vue2.x 版本,优化了主要核心双向绑定原理和体积大小,并且更加友好的兼容 ts 语法。vue3是基于ES6新增的proxy代理实现的。

1.1 vue3的特点新增了组合式api更接近原生js更加解耦(收到react启发)按需加载1.2 与vue2的区别

        相同点:生命周期基本一致、与vue2的模板语法基本一致、与vue2的选项基本一致data methods computed watch等。

        不同点:启动方式不同、全局方法挂载不一样、vue3可以拥有多个根节点、生命周期卸载不同、vue3新增部分 setup()在组件挂载前运行。

二、vue3的安装使用

        win+R,输入cmd打开命令窗口,按照以下步骤进行安装。

2.1 安装脚手架npm i @vue/cli -g 2.2 创建项目vue create mv3 //mv3为项目名称2.3 手动安装

2.4 进入并运行项目服务器cd /mv3npm run serve三、vue3生命周期

        Vue3中继续使用Vue2中的生命周期钩子,但有有2个钩子发生了改变 - beforeDestroy改名为beforeUnmount(卸载前) - destroyed改名为unmounted(卸载) 与vue2不同的是,vue3中是有了el模板之后才会去初始化,而vue2中是先created之后再去找模板。

Vue3生命周期示意图如下:

 

 

四、vue3核心4.1 setup组件vue3指导教程(附带获取屏幕可视区域宽高)(vue3.0教程)

        在vue2中,生命周期暴露在vue实例的选项上,使用时直接调用;vue3中使用生命周期钩子,需要先导入项目,才能够使用。

import {onMounted} from 'vue'4.2 ref创建响应式数据        

         在 vue 3中,可以通过一个新的 ref 函数使任何响应式变量在任何地方起作用 ;ref() 函数可以根据给定的值来创建一个响应式的数据对象,返回值是一个对象,且只包含一个 .value 属性。在 setup() 函数内,由 ref() 创建的响应式数据返回的是对象,所以需要用 .value 来访问。

        使用ref可以创建一个包含响应式数据的引用对象(reference对象,简称ref对象),可以是基本类型、也可以是对象。

import { ref } from 'vue' //使用前先导入const counter = ref(0)console.log(counter) // { value: 0 }console.log(counter.value) // 0counter.value++console.log(counter.value) // 14.3 reactive创建响应式引用类型方法

        定义一个对象类型的响应式数据,内部基于ES6的Proxy实现,通过代理对象操作源对象内部数据进行操作;返回一个对象的响应式代理。

import {reactive} from 'vue'// 定义一个引用类型的响应式数据list 默认是const list = reactive(["vue","react","angular"])4.4 computed & methods

计算属性关键词: computed。

var twiceNum = computed(()=>num.value*2)

computed vs methods         可以使用 methods 来替代 computed,效果上两个都是一样的,但是 computed 是基于它的依赖缓存,只有相关依赖发生改变时才会重新取值。而使用 methods ,在重新渲染的时候,函数总会重新调用执行。

methods: {  reversedMessage2: function () {    return this.message.split('').reverse().join('')  }}4.5 watch监听

         watch(参数1,参数2) 默认是懒侦听的,即仅在侦听源发生变化时才执行回调函数。参数1是侦听源,参数2是回调函数。 

案例:创建一个stepper组件(src/components/StepperCom.vue),在HomeView中引入(src/views/HomeView.vue)

src/components/StepperCom.vue

<template> <span> <button @click="count--">-</button> <input type="text" style="width:90px;" v-model="count"> <button @click="count++">+</button> </span></template><script setup>//defineProps定义propsimport {defineProps,ref,watch,defineEmits,watchEffect,defineExpose} from 'vue'//定义props传入参数const props=defineProps({ //类型为数字或者字符串,默认值为1 value:{type:[Number,String],default:1}})//定义一个响应式对象初始值为props.valueconst count=ref(props.value);//定义事件发送器var emits=defineEmits(["input"]);//监听count的变化watch(count,()=>{ //发送一个inout事件 事件值为count的value emits("input",count.value);})//只要watchEffect中出现了数据,数据发生变化都会被执行watchEffect(()=>{ count.value=props.value;})//defineExpose规定了组件哪些值可以被引用获取defineExpose({count})</script>

 src/views/HomeView.vue

<template> <div> <h1>setup</h1> <button @click="num++">{{num}}</button> <stepper-com :value="10" @input="num=$event"></stepper-com> </div></template><script setup>//使用setup可以简写(不用导出,组件不用注册)import StepperCom from '@/components/StepperCom.vue'import {ref} from 'vue' const num=ref(5)</script>五、案例(获取可视区域宽高数据)

src/utils/utils.js

import {ref,onMounted,onBeforeUnmount} from 'vue'export function useWinSize(){ const size=ref({width:1920,height:1080}); //窗口变化时更新size function onResize(){ size.value={ //用窗口的最新宽高更新width和heigth width:window.innerWidth, height:window.innerHeight } } //组件挂载完毕更新size onMounted(()=>{ window.addEventListener("resize",onResize); }) //组件要卸载的时候移除事件监听 onBeforeUnmount(() => { window.removeEventListener("resize",onResize); }) return size;}

src/views/HomeView.vue

<template> <div> <h1>可视区域宽度与高度</h1> <p>{{size}}</p> </div></template><script setup>//导入useWinSize方法import {useWinSize} from '@/utils/utils.js'//方法执行,返回一个对象sizeconst size=useWinSize();</script>
本文链接地址:https://www.jiuchutong.com/zhishi/297613.html 转载请保留说明!

上一篇:【Python】Streamlit库学习:一款好用的Web框架(python stream模块)

下一篇:【Vant Weapp】van-tab 标签页(vant weapp官方文档)

  • 苹果11为什么不能装两张卡(苹果11为什么不能下载百度网盘)

    苹果11为什么不能装两张卡(苹果11为什么不能下载百度网盘)

  • 华为nova7在哪里插耳机(华为nova7在哪里看型号)

    华为nova7在哪里插耳机(华为nova7在哪里看型号)

  • 同一个手机号能解封几次(同一个手机号能注册几个抖音号)

    同一个手机号能解封几次(同一个手机号能注册几个抖音号)

  • 怎样删除多余的页面(怎样删除多余的单元格)

    怎样删除多余的页面(怎样删除多余的单元格)

  • 剪映怎么遮挡局部(剪映怎么遮盖)

    剪映怎么遮挡局部(剪映怎么遮盖)

  • 怎样注销抖音账号(怎样注销抖音账号重新申请)

    怎样注销抖音账号(怎样注销抖音账号重新申请)

  • programfiles能删吗(programfiles能删吗x86)

    programfiles能删吗(programfiles能删吗x86)

  • wps太卡了怎么回事(wps太卡了怎么回答问题)

    wps太卡了怎么回事(wps太卡了怎么回答问题)

  • 安卓微信怎么换深色模式(安卓微信怎么换主题皮肤)

    安卓微信怎么换深色模式(安卓微信怎么换主题皮肤)

  • 怎么向QQ申请恢复巨轮(qq如何申请恢复好友)

    怎么向QQ申请恢复巨轮(qq如何申请恢复好友)

  • 华为p40pro听筒在哪里(华为p30pro听筒声音小怎么解决)

    华为p40pro听筒在哪里(华为p30pro听筒声音小怎么解决)

  • wifi网关地址怎么设置(wifi网关地址怎么查看)

    wifi网关地址怎么设置(wifi网关地址怎么查看)

  • 苹果指纹好但按键失灵(iphone指纹按下去才能解锁)

    苹果指纹好但按键失灵(iphone指纹按下去才能解锁)

  • 淘宝不能取消订单了咋办(淘宝现在取消不了订单)

    淘宝不能取消订单了咋办(淘宝现在取消不了订单)

  • 超级计算机是用来干什么的(超级计算机是用什么计算的)

    超级计算机是用来干什么的(超级计算机是用什么计算的)

  • 1000kwh等于多少度电(1000kwh等于多少wh)

    1000kwh等于多少度电(1000kwh等于多少wh)

  • 苹果停用什么意思(苹果停用是什么意思怎么办)

    苹果停用什么意思(苹果停用是什么意思怎么办)

  • 互联网是什么行业(互联网是什么行业类别)

    互联网是什么行业(互联网是什么行业类别)

  • 三摄四摄什么意思(三摄和四摄哪个好)

    三摄四摄什么意思(三摄和四摄哪个好)

  • 手机拔号键如何恢复(手机拔号键有什么功能)

    手机拔号键如何恢复(手机拔号键有什么功能)

  • 亲情账号可以看购物车(亲情账号可以看朋友圈吗)

    亲情账号可以看购物车(亲情账号可以看朋友圈吗)

  • qq占用内存太大了怎么办(qq占用内存太大怎么设置)

    qq占用内存太大了怎么办(qq占用内存太大怎么设置)

  • 创维盒子怎么连接电视(创维盒子怎么连接网络)

    创维盒子怎么连接电视(创维盒子怎么连接网络)

  • Windows Server 2003 SP2 企业安装版 Y1.0下载(windowsserver2003设置用户密码)

    Windows Server 2003 SP2 企业安装版 Y1.0下载(windowsserver2003设置用户密码)

  • dedecms织梦怎么用拼音命名文章标题页(将织梦dedecms转换到wordpress)

    dedecms织梦怎么用拼音命名文章标题页(将织梦dedecms转换到wordpress)

  • 免税收入怎么做账务处理
  • 非员工私车公用怎么进行账务处理
  • 金税四期接入银行
  • 产品成本包括哪几个部分
  • 实收资本增加的原因
  • 发票领购簿遗失怎么办
  • 应交消费税通过什么科目核算
  • 公司注销时长期投资怎么处理
  • 电子产品委外加工
  • 进项交税吗
  • 货物运输企业的经营方式
  • 缴纳上月应交税费分录
  • 不动产有法律效力吗
  • 预缴企业所得税怎么算
  • 出口退税两单两票
  • 出差人什么意思
  • win11系统的电脑中拷贝到U盘中的文件没有了怎么解决
  • 网页无法复制文字破解
  • 仓库库存周转率高
  • 以前年度损益调整
  • 红蘑菇是什么松树伞吗
  • 利息如何做会计分录
  • springboot集成camunda+bpmn
  • php语法和常用的函数
  • launcheflc.exe什么意思
  • 年度中间适用的预扣率高于全年综合所得年适用税率
  • 报销是可以直接拿钱的吧
  • 员工食堂餐费可以税前扣除吗
  • 以土地投资溢价的公司
  • Cusco Cathedral on the Plaza de Armas, Cusco, Peru (© sharptoyou/Shutterstock)
  • nginx ss
  • 营改增前建筑工程需交哪些税种
  • php怎么设置图片的大小
  • 小规模建筑公司经营范围大全
  • 收入的利息怎么记账
  • 安装织梦数据库连接不上
  • 企业所得税算法例题解析
  • 帝国cms伪静态规则
  • 个人独资企业是小规模纳税人吗
  • 设计公司发生的设计费怎么入账
  • 计提的工会经费年底有余额咋处理
  • 专利年费 缴纳
  • 事业单位的结余与企业的利润相比
  • 成本结转怎么做分录
  • 项目回款是什么意思
  • 可供分配的利润分配顺序
  • 购买无形资产的手续费计入
  • 车辆使用费包括油费吗
  • 营业外收支主要有哪些
  • 长期股权投资的初始计量
  • 餐饮怎么扣税
  • VMware虚拟机中卸载java命令
  • windows8如何安装
  • Win7系统打开设备和打印机里面什么都没有
  • mac系统锁屏
  • centos6.5关闭休眠
  • 重装系统 xp
  • centos ftp上传文件
  • centos7安装软件包命令
  • win10外置光驱读不出光盘怎么办
  • win7系统c盘占用空间大
  • 更新win8
  • 返回场景和音乐的区别
  • opengl导入obj
  • Unity3D游戏开发标准教程
  • javascript高级程序设计第五版 pdf下载
  • javascript主要学什么
  • jquery 图片裁剪
  • android基础知识点
  • javascript中用于声明变量的关键字
  • Python虚拟环境创建
  • jquery数组的方法
  • The method findViewById(int) is undefined for the type FragmentHome报错
  • jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
  • 四川税务网络领发票流程
  • 联合举办的活动
  • 金税盘里的发票清单怎么导出
  • 四川投诉电话查询
  • 官方客服热线人工台电话
  • 怎么下载国家税务局网上办税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设