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之前调用,它是"领先"所有钩子执行的

相关推荐
猩兵哥哥10 小时前
前端面向对象设计原则运用 - 策略模式
前端·javascript·vue.js
EMT11 小时前
在 Vue 项目中使用 URL Query 保存和恢复搜索条件
javascript·vue.js
我是日安11 小时前
从零到一打造 Vue3 响应式系统 Day 9 - Effect:调度器实现与应用
前端·vue.js
鹏多多12 小时前
深入解析vue的keep-alive缓存机制
前端·javascript·vue.js
用户51681661458411 天前
Vue Router 路由懒加载引发的生产页面白屏问题
vue.js·vue-router
前端缘梦1 天前
Vue Keep-Alive 组件详解:优化性能与保留组件状态的终极指南
前端·vue.js·面试
Simon_He1 天前
这次来点狠的:用 Vue 3 把 AI 的“碎片 Markdown”渲染得又快又稳(Monaco 实时更新 + Mermaid 渐进绘图)
前端·vue.js·markdown
王同学QaQ1 天前
Vue3对接UE,通过MQTT完成通讯
javascript·vue.js
华仔啊1 天前
基于 RuoYi-Vue 轻松实现单用户登录功能,亲测有效
java·vue.js·后端
艾小码1 天前
告别Vue混入的坑!Composition API让我效率翻倍的3个秘密
前端·javascript·vue.js