位置: IT常识 - 正文

Vue3详细教程(vue3快速入门)

编辑:rootadmin
Vue3详细教程 一.Vue3的介绍

推荐整理分享Vue3详细教程(vue3快速入门),希望有所帮助,仅作参考,欢迎阅读内容。

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

相信大家都已经学习过Vue2了,对Vue有了一定的了解。那么今天我们就一起来学习有关Vue3的知识点。那为什么要学习Vue3呢,主要是他有以下的特点。 (1)新增组合式api (2)更加接近原生 (3)更加解耦(react启发)

二.Vue3的安装全局安装脚手架(如果安装过脚手架请忽略这步) npm i @vue/cli -g 创建一个vue3 的项目 vue create 项目名称 选择手动 选择babel ES6转ES5 Router路由 Vuex css预处理器 Linter语法格式检查 选择版本3x(这个一定要注意,与vue2的区别) 选择scss 其他按照如下选择,基本都是默认进入项目,运行到服务器,复制网址可以出现,就说明成功 安装并创建了Vue3的项目三.Vue3的使用一. 推荐插件

在练习项目之前建议大家安装Vscode的两个插件,方便Vue3的学习。分别是 (1)Vue Volar extension Pack (2)Vetur

二.Vue2与VUe3的异同1. Vue2与Vue3基本相同

01 生命周期基本一致

02 与vue2的模板语法基本一致

03 与选项基本一致 data methods,computed watch 一致

2. Vue2与Vue3的不同点(重点)

01 启动方式 (1)vue3的启动方式

import {createApp} from 'vue'createApp(App).use(router).use(store).mount("#app")

(2)vue2的启动方式

import Vue from 'vue'new Vue({ store, router, render:h=>h(App)}).$mount("#app")

02 全局方法挂载 (1)vue2的全局方法挂载

app.config.globalProperties.$say = function(msg){alert(msg)}

(2)vue3的全局方法挂载

Vue.prototype.$say = function(msg){alert(msg)}Vue3详细教程(vue3快速入门)

03 根节点 (1)vue3 可以有多个根节点 (2)vue2 只能有一个根节点(容易出错的点) 04 生命周期,卸载 (1)Vue3

beforeUnmount()组件将要卸载unmounted组件已经卸载

(2)Vue2

beforeDestroy()销毁前destroyed()销毁后

下面是生命周期图示官方图,可供参考

三. 组合式 API:setup()

setup() 钩子是在组件中使用组合式 API 的入口,通常只在以下情况下使用:

需要在非单文件组件中使用组合式 API 时。需要在基于选项式 API 的组件中集成基于组合式 API 的代码时。 其他情况下,都应优先使用 < script setup> 语法。

(1)ref

创建值类型响应式数据方法在seup内部需要 .value 来访问设置值

(2) reactive

创建引用类型响应式数据方法

(3)defineProps

定义 组传的传参props

(4)defineEmits

定义组件发送的事件

(5)watch

监听一个数据的变化

(6)watchEffect

监听多个数据

(7)生命周期

setup中的生命周期,没有beforeCreate与createdsetup的生命周期需要加on前缀四.Vue3的简单练习案例

1.案例1

<template> <div> <h1>你好Vue3</h1> <!-- 02 与2的模板语法基本一致 --> <button @click="num++">{{num}}</button><br/> <input type="text" v-model.number="num" /> <p>{{rmsg}}</p> <button @click="$say('你好老曾')"> 全局</button> </div> <div> <h1>第二个根节点</h1> </div></template><script>export default { // 01 生命周期基本一致 created(){ console.log("你好vue3,from clog") }, data(){ return { num:1, msg:"你好前端开发" } }, // 03 与选项基本一致 data methods,computed watch 一致 computed:{ "rmsg":function(){ return this.msg.split('').reverse().join(""); } }}</script>案例2<template> <div> <h1>setup</h1> <button @click="num++">{{num}}</button> <br> <stepper-com :value="num" @input="num=$event" ref="stepper"></stepper-com> </div></template><script setup>// 使用setup 可以简写(不用导出,组件不用注册了) import StepperCom from '@/components/StepperCom.vue' import {ref,onMounted} from 'vue'; const num = ref(5); const stepper = ref(); onMounted(() => { console.log("组件已经挂载完毕") // 组件挂载完毕引用steper组件 // stepper.value就是对stepper-com 组件的引用 console.log(stepper.value.count) })</script>案例3<template> <div> <h1>生命周期</h1> <button @click="num++">{{num}}</button> <button @click="setNum(num+5)">加5</button> <p v-for="item in list" :key="item">{{item}}</p> <input type="text" v-model="temp" @keyup.enter="addList()"> </div></template><script> // ref 导入一个创建响应式 值类型数据的方法 // reactive 响应式 引用类型方法 import {ref,reactive} from 'vue' export default { setup(){ // 创造一个响应式对象 num 默认值是5 const num = ref(5); // 定义更新num的方法 function setNum(n){ // 在setup 中num的值访问与赋值要加value 在template不需要 num.value = n; } // 返回num // 定义一个响应式列表数据 var list = reactive(["Vue","react","Angular","小程序"]) // 定义temp 临时数据 var temp = ref(""); // 定义添加list 的方法 function addList(){ // 注意值类型访问要加value list.push(temp.value); temp.value = ""; } // 返回 定义的方法与数据 return {num,setNum,list,temp,addList}; }, beforeUnmount(){ console.log("组件将要卸载") }, unmounted(){ console.log("组件已经卸载") } }</script>

以上就是全部内容啦,敬请期待下一篇博客

本文链接地址:https://www.jiuchutong.com/zhishi/300465.html 转载请保留说明!

上一篇:Pytorch+PyG实现MLP(pytorch map)

下一篇:【前端】重学vue,vue生命周期基础知识了解一下(前端使用vue的好处)

  • 小微企业企业所得税税率变化
  • 出差误餐补助是谁承担
  • 企业信用公示的时效是多久
  • 其他应收款属于应收账款吗
  • 企业购置房产进项被折旧怎么处理
  • 旅游业一般纳税人
  • 如何认定纳税人资格证书
  • 非货币性资产投资个人所得税
  • 一般纳税人收到专票怎么做分录
  • 印花税一个月一报吗
  • 上年度的印花税怎么计算
  • 个体工商户转为企业要交税吗
  • 环评公司的成本核算
  • 银行手续费抵扣税率是多少
  • 借现金还银行怎么做账
  • 海关票怎么认证
  • 分户记账
  • 转账和电汇哪个便宜
  • 远程桌面连接的用户名和密码在哪里看
  • thinkphp 模型
  • 赠送积分有两种形式
  • 公司已开票给客户,但客户未打款怎么办?
  • 长期借款利息费用的资本化账务处理
  • 销售已使用固定资产收入与主营收入合计超过120万元
  • nvm安装及全局配置node
  • PHP:mcrypt_enc_is_block_algorithm()的用法_Mcrypt函数
  • 接受专利投资会亏本吗
  • el-table-column label动态
  • 发放员工奖励
  • findfont: Font family [‘Times New Roman‘] not found. Falling back to DejaVu Sans.
  • 跨市设立分公司
  • web前端基本知识
  • 生产企业的成本有哪些
  • 基于php的系统
  • 应收账款余额在借方表示谁欠谁
  • 瑞数5.5逆向笔记(纯扣算法)
  • 注意力机制加在什么位置
  • 命令行系统
  • named-config
  • php中定义函数
  • 材料暂估入库如何进行账务处理
  • 外购产品的会计分录
  • 畜牧业科技公司
  • 股权转让 收益
  • vue实现响应式的原理
  • 个人所得税计算器公式
  • 销售收入发生变动的影响
  • 兼职人员的工资需要发票吗
  • 简易计税差额抵扣
  • 金融资产主要包括
  • 农村土地征用补偿价格
  • 现金付发票再摊销怎么算
  • 中小创投企业收益分析
  • 应付账款周转率计算公式
  • 销售退回的账务处理会计分录图片
  • 上月留抵税怎么算应纳税额
  • 离职员工未休完的年假如何支付
  • 其他应付款的有
  • 收到现金货款存入银行会计分录
  • mysql分页时offset过大的Sql优化经验分享
  • SQL入侵恢复xp_cmdshell方法总结
  • sqlserver 禁用触发器 超时
  • 完美解决MySQL通过localhost无法连接数据库的问题
  • 如何在windows server 2016如何加域
  • 使用xshell连接虚拟机需要修改哪些配置
  • win8点设置没反应
  • Cocos2dx------从json文件读取数据
  • 如何做好设计师
  • android 调用相机拍照
  • unity5权威讲解
  • js数组entries
  • android pipepline
  • javascript高级教程pdf
  • jquery实战
  • python如何编程
  • 打印格式不对怎么设置A4
  • 纳税人销售免征增值税
  • 葫芦岛市税务局电话
  • 电信电普
  • 地税收社保
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设