Vue3+TS知识

本篇内容全部采用TypeScript+组合式API+setup语法糖的规范形式

Vue3==兼容==>Vue2--基本不用2的写法

目前进程 --007

创建Vue3工程

vite和webpack是等价的,两个不同的构建工具,vitewebpack的区别在于,vite需要用到什么,也就是取决于你看什么,就加载什么;而webpack则是全部加载了再给你展示,速度相对就慢很多,类似懒加载

基于Vue-cli创建(脚手架-webpack)

基于vite创建 https://vitejs.cn/

sql 复制代码
1.创建指令(需要安装node.js--获得npm环境) 
$ pnpm create vue@latest

2.输入项目名称
3.选择其他配置完成配置

目录介绍

src内存放源代码在src中,必不可少的文件是App.vuemain.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

setupVue3中一个新的配置项,值是一个函数,它是Componsition API表演的舞台,组件中所用到的:数据、方法、计算属性、监视......等等,均在setup中。

特点图下:

setup函数返回的对象中的内容,可直接在模板中使用

setup中访问thisundefined

setup函数会在beforeCreate之前调用,它是"领先"所有钩子执行的

相关推荐
Gracemark1 小时前
高德地图-地图选择经纬度问题【使用输入提示-使用Autocomplete进行联想输入】(复盘)
vue.js
天下无贼2 小时前
【手写组件】 Vue3 + Uniapp 手写一个高颜值日历组件(含跨月补全+今日高亮+选中状态)
前端·vue.js
洋葱头_4 小时前
vue3项目不支持低版本的android,如何做兼容
前端·vue.js
奔跑的蜗牛ing4 小时前
Vue3 + Element Plus 输入框省略号插件:零侵入式全局解决方案
vue.js·typescript·前端工程化
最后一个农民工6 小时前
vue3实现仿豆包模版式智能输入框
前端·vue.js
艾小码9 小时前
Vue组件到底怎么定义?全局注册和局部注册,我踩过的坑你别再踩了!
前端·javascript·vue.js
wusp199410 小时前
项目实战——“微商城”前后台【005】之前台项目首页编写
vue.js·vant·底部导航栏
森林的尽头是阳光10 小时前
vue防抖节流,全局定义,使用
前端·javascript·vue.js
计算机毕业设计木哥10 小时前
计算机毕设选题推荐:基于Java+SpringBoot物品租赁管理系统【源码+文档+调试】
java·vue.js·spring boot·mysql·spark·毕业设计·课程设计
zero13_小葵司11 小时前
Vue 3 前端工程化规范
前端·javascript·vue.js