Vue3.x基础解析【推荐学完Vue2.x的来了解一下】

1.认识Vue3

官网:Vue3

Vue3支持Vue2的很多特性,并且能够 更好的支持TypeScript。Vue3在性能上也大大提升,打包大小减少,渲染更快,内存也相对减少。

2.创建Vue3项目

博客地址:Vue3基础解析

1.1 vue-cli创建

npm install -g @vue/cli
## 保证 vue cli 版本在 4.5.0 以上
vue create my-project

1.2 vite创建

vite官网

npm init vite <project-name>
cd <project-name>
npm install
npm run dev

3.初探Vue3

3.1 采用TS后入口文件为main.ts

//引入createApp函数,创建对应的应用,产生实例对象
import {
    createApp } from 'vue'

import App from './App.vue'
//创建App应用并且挂载
createApp(App).mount('#app')

3.2 Vue3中html模版可以没有根元素

<template>
  <img alt="Vue logo" src="./assets/logo.png">
  <HelloWorld msg="Welcome to Your Vue.js + TypeScript App"/>
</template>

如果是Vue2则需要在一个根标签<div></div>

3.3 script

<script lang="ts">
//defineComponent函数的目的是定义一个组件,所传的配置对象就相当于Vue2的配置对象
import {
    defineComponent } from 'vue';
import HelloWorld from './components/HelloWorld.vue';

export default defineComponent({
   
  name: 'App',
  components: {
   
    HelloWorld
  }
});
</script>

4.常用Composition API

4.1 setup

  • setup在生命周期函数 beforeCreate 之前就执行,而且只执行一次,此时组件对象还没有被创建,因此是无法使用this的,this为undefined
  • setup尽量不要与data和methods混合使用
  • setup参数setup(props, { attrs, emit, slots })
  • prop参数是一个对象,里面有父级组件向子级组件传递的数据,并且是在子级组件中使用props接收到的所有属性,子组件不用props接收则里面就没有传递的这个数据
  • attrs则是传递了没有接收的数据
  • emit:用来分发自定义事件的函数, 相当于 this.$emit
  • slots:包含所有传入的插槽内容的对象, 相当于 this.$slots

4.2 setup与ref

与Vue2对比,Vue3将。属性值与方法都放在setup中,所有的组合 API 函数都在此使用, 只在初始化时执行一次,而且setup函数如果返回对象,对象中的属性或者方法都可以在模版中使用。

在方法中修改属性的值需要用到num.value,但是在模版中显示该值不需要.value

<template>
  {
   {
    num }}
  <button @click="Method1">button</button>
</template>

<script lang="ts">
import {
    defineComponent, ref } from "vue";

export default defineComponent({
   
  name: "App",
  setup() {
   
    //如果只是const num = 0;num不是响应式的数据,修改这个数据页面不会发生更改
    const num = ref(0);
    function Method1() {
   
      console
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

boboj1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值