本篇内容全部采用TypeScript+组合式API+setup语法糖的规范形式
Vue3==兼容==>Vue2--基本不用2的写法
目前进程 --007
创建Vue3工程
vite和webpack是等价的,两个不同的构建工具,vite
和webpack
的区别在于,vite
需要用到什么,也就是取决于你看什么,就加载什么;而webpack
则是全部加载了再给你展示,速度相对就慢很多,类似懒加载
基于Vue-cli创建(脚手架-webpack)
基于vite创建 https://vitejs.cn/
sql
1.创建指令(需要安装node.js--获得npm环境)
$ pnpm create vue@latest
2.输入项目名称
3.选择其他配置完成配置

目录介绍
src内存放源代码
在src中,必不可少的文件是App.vue
和main.ts

main.ts文件
ts
//引入createApp用于创建应用
import {createApp} from 'vue'//createApp创建应用,类似造花盆
//引入App根组件
import App from './App.vue'//App组件,类似花盆里的根,后续其他的vue组件类似叶子树枝,都安装在App根上
createApp(App).mount('#app')//将花插在花盆里,也就是将APP传入;mount是挂在到一个名为#app的容器中-->在index.html中
.Vue文件的组成
ts
<template>
<!-- html -->
</template>
<script lang="ts">//lang="ts"作用是指定该 <script> 部分使用 TypeScript(TS)语言编写
//JS或TS
</script>
<style>
/* 样式 */
</style>
总结
Vite
项目中,index.html
是项目的入口文件,在项目的最外层
加载index.html
后,Vite
解析<script type="module" src="xxx">
指向的JavaScript
Vue3
中是通过createApp
函数创建一个应用实例
Vue3中使用vue2语法实现简单效果demo
在Vue2中使用OptionsAPI选项式 -->name
;data
;methods
等都是选项
Person.vue
ts
<template>
<div class="person">
<h2>姓名{{ name }}</h2>
<h2>年龄{{ age }}</h2>
<button @click="changeName">修改名字</button>
<button @click="changeAge">修改年龄</button>
<button @click="showTel">查看联系方式</button>
</div>
</template>
<script lang="ts">
export default {
name: "Person",
data() {
return {
name: "张三",
age: 18,
tel: "12324124",
};
},
methods: {
changeName() {
this.name = "zhang-3";
},
changeAge() {
this.age += 1;
},
showTel() {
alert(this.tel);
},
},
};
</script>
<style>
.person {
background-color: skyblue;
}
</style>
App.vue
ts
<template>
<div class="app">
<h1>你好啊!</h1>
<Person></Person>
</div>
</template>
<script lang="ts">
import Person from "./components/Person.vue";
export default {
name: "App", //组件名
components: { Person }, //组成组件
};
</script>
<style>
.app {
background-color: red;
}
</style>
Vue3核心语法
Setup
setup
是Vue3
中一个新的配置项,值是一个函数,它是Componsition API
表演的舞台,组件中所用到的:数据、方法、计算属性、监视......等等,均在setup
中。
特点图下:
setup
函数返回的对象中的内容,可直接在模板中使用
setup
中访问this
是undefined
setup
函数会在beforeCreate
之前调用,它是"领先"所有钩子执行的