6 min read

前端新手必读:6分钟Vue3快速入门

大家好,我是星辰编程理财,今天我要和大家分享Vue3基础知识。

介绍

Vue.js是一款流行的JavaScript框架,用于构建用户界面。在Vue.js的最新版本Vue3中,引入了许多改进和新特性,使开发变得更加便捷和高效。本文将带你快速入门Vue3,通过使用组合式函数来编写示例代码,让你更好地理解Vue3的核心概念和用法。

安装Vue3和Vite

Vue3的安装非常简单,我们可以使用npm或yarn来安装Vue3的最新版本。打开终端,执行以下命令:

npm install vue@next
# 或者
yarn add vue@next

除了Vue3,我们还推荐使用Vite作为构建工具。Vite是一个现代化的前端构建工具,可以提供更快的开发和热重载体验。我们可以使用以下命令安装Vite:

npm install -g create-vite
# 或者
yarn global add create-vite

安装完成后,我们可以使用Vite来创建一个新的Vue3项目。

创建Vue实例

在Vue3中,我们使用createApp函数来创建一个Vue实例。在创建Vue实例之前,我们需要在HTML页面中添加一个根元素,用于挂载Vue应用。下面是一个简单的示例:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Vue3 Quick Start</title>
</head>
<body>
  <div id="app"></div>
  
  <script src="path/to/vue.js"></script>
  <script>
    const { createApp, ref } = Vue;

    const app = createApp({
      setup() {
        const message = ref('Hello, Vue3!');

        function showMessage() {
          alert(message.value);
        }

        return {
          message,
          showMessage
        };
      }
    });

    app.mount('#app');
  </script>
</body>
</html>

在上面的代码中,我们创建了一个Vue实例,并使用setup函数来定义数据和方法。我们使用ref函数创建一个响应式的message变量,并在showMessage函数中使用message.value来获取其值。通过mount方法将Vue应用挂载到id为app的根元素上。

模板语法和指令

Vue3的模板语法和指令与Vue2相似,但也有一些细微的变化。下面是一些常用的模板语法和指令示例:

<div>
  <p>{{ message }}</p>
  <button @click="showMessage">Click me</button>
</div>

在上面的示例中,我们使用双花括号{{}}来进行插值操作,将message属性的值显示在<p>标签中。使用@符号来绑定事件,这里我们绑定了click事件,并调用showMessage方法。

组件

Vue3中的组件开发与Vue2类似,但也有一些改进。下面是一个简单的组件示例:

<template>
  <div>
    <p>{{ message }}</p>
    <button @click="showMessage">Click me</button>
  </div>
</template>

<script>
  import { ref } from 'vue';

  export default {
    setup() {
      const message = ref('Hello, Vue3!');

      function showMessage() {
        alert(message.value);
      }

      return {
        message,
        showMessage
      };
    }
  };
</script>

在上面的示例中,我们使用<template>标签定义组件的模板部分,使用<script>标签定义组件的逻辑部分。通过setup函数来定义数据和方法,并将其返回。在模板中直接使用返回的数据和方法。

响应式数据

Vue3采用了更强大的响应式系统,通过refreactive来创建响应式数据。下面是一个使用ref的示例:

import { ref } from 'vue';

export default {
  setup() {
    const message = ref('Hello, Vue3!');

    return {
      message
    };
  }
};

在上面的示例中,我们使用ref函数来创建一个响应式的message变量。

生命周期钩子函数

在Vue3中,生命周期钩子函数发生了一些变化。下面是一些常用的生命周期钩子函数示例:

<script setup>
import { onMounted } from 'vue'

onMounted(() => {
  console.log(`the component is now mounted.`)
})
 unmounted(() => {
  console.log('Component unmounted');
})
</script>

在上面的示例中,我们分别使用createdmountedunmounted钩子函数来监听组件的创建、挂载和卸载事件。

Pinia状态管理

在Vue3中,我们可以使用Pinia作为状态管理库,它提供了类似于Vuex的功能。下面是一个使用Pinia的示例:

首先,我们需要安装Pinia库:

npm install pinia
# 或者
yarn add pinia

然后,在项目中创建一个Pinia实例,并在需要使用状态管理的组件中引入和使用该实例:

import { createApp } from 'vue';
import { createPinia } from 'pinia';
import App from './App.vue';

const pinia = createPinia();

const app = createApp(App);
app.use(pinia);
app.mount('#app');

在上面的示例中,我们首先创建了一个Pinia实例,并将其安装到Vue应用中。然后,通过app.mount方法将Vue应用挂载到根元素上。

接下来,我们可以在组件中使用Pinia提供的defineStore函数来定义和使用状态:

import { defineStore } from 'pinia';

export const useCounterStore = defineStore('counter', {
  state() {
    return {
      count: 0
    };
  },
  actions: {
    increment() {
      this.count++;
    },
    decrement() {
      this.count--;
    }
  }
});

在上面的示例中,我们使用defineStore函数定义了一个名为counter的状态管理模块,其中包含一个count变量和两个操作函数incrementdecrement

在组件中使用该状态管理模块:

<template>
  <div>
    <p>Count: {{ count }}</p>
    <button @click="increment">Increment</button>
    <button @click="decrement">Decrement</button>
  </div>
</template>

<script>
  import { useCounterStore } from './store';

  export default {
    setup() {
      const counterStore = useCounterStore();

      return {
        count: counterStore.count,
        increment: counterStore.increment,
        decrement: counterStore.decrement
      };
    }
  };
</script>

在上面的示例中,我们通过useCounterStore函数创建了一个counterStore实例,并从中获取count状态和操作函数incrementdecrement,然后在模板中使用它们。

打包和部署

最后,我们可以使用Vite进行项目的打包和部署。Vite是一个现代化的前端构建工具,提供了更快的开发和热重载体验。以下是一些常用的命令:

# 创建一个新的Vue3项目
create-vite my-project --template vue
# 进入项目目录
cd my-project
# 启动开发服务器
npm run dev
# 构建生产版本
npm run build

以上是一个基本的Vue3快速入门指南,涵盖了Vue3的核心概念和常用工具。通过使用组合式函数编写示例代码,帮助你更好地理解Vue3的用法和特性。希望本文能帮助你快速入门Vue3,并享受在Vue生态系统中构建优秀应用程序的乐趣。

如果你想深入学习Vue3的更多内容,请参考Vue3官方文档Pinia官方文档

祝你在Vue3的世界中编写出精彩的前端应用!