vue3+vite+elementplus简单介绍

2023-04-01 17:15
3160
0

Vue是一个流行的框架,它能够提供如同翻转开关一样的快速响应和大量的帮助功能来实现更快更好的交互。随着Vue 3的推出,很多人看到了它的潜力。在 Vue 3 的生命周期里,Vue 结合了模板的优化,以及 v-model、生命周期钩子等细节做了很多改进,可以更好的适应更快的发展需求。而 Vite 作为一种开发环境,对于 Vue 来说是必不可少的工具之一。在目前的 Vue 3 中,Vite 的速度已经超越了 Webpack。

在Vue 3的生命周期里,我们还要提一下 Element Plus, Element Plus是一个基于Element UI的组件库,但是 Element Plus 比 Element UI 更为轻量级,更为简洁。Element Plus的目标是“提供优雅的组件”,并将组件使用进行了重构和优化。同时,它也为大量的开发者提供了一些非常有用的工具和组件。不出意外,Element Plus 很快就会成为 Vue 开发中的一大利器。

Vue、Vite和Element Plus三个工具的结合可以帮助我们更好的进行开发工作。在开发中,我们可以使用Vue来编写组件,使用Element Plus来提供样式和组件,同时使用Vite来启动本地开发服务器。这样的话,开发者可以更加专注于业务逻辑的实现,同时又可以减少很多不必要的麻烦。

安装配置

首先,我们需要保证我们安装了Node.js和npm包管理器。然后,在命令行中输入以下命令来安装Vue CLI和Vite:

npm install -g @vue/cli
npm install -g vite

接着,我们可以使用如下命令来创建一个Vue 3项目:

# 使用Vue CLI创建项目
vue create my-project

cd my-project

# 安装Element Plus
npm install element-plus

创建完项目并安装好Element Plus之后,在项目根目录下运行以下命令启动Vite开发服务器:

npm install
npm run dev

这时候我们在浏览器中输入 http://localhost:3000 就能看到我们的项目页面了。

使用

在我们的Vue代码中,可以通过import引入Element Plus组件:

import { ElButton } from 'element-plus';

export default {
  components: {
    ElButton,
  },
}

然后就可以在模板中使用<el-button>标签来使用Element Plus提供的按钮组件了:

<template>
  <div>
    <el-button>点击我</el-button>
  </div> 
</template>

除了组件,Element Plus还提供了一些非常实用的工具函数,例如 message 和 notification。我们可以通过如下方式来引入和使用它们:

import { createApp } from 'vue';
import ElementPlus from 'element-plus';
import 'element-plus/lib/theme-chalk/index.css';

import App from './App.vue';

const app = createApp(App);

app.use(ElementPlus);

app.mount('#app');

在这个例子中,我们使用了 Element Plus 提供的 createApp 函数创建了我们的 Vue 实例,然后通过 use 方法将 Element Plus 安装到我们的应用程序中。最后的 mount 方法指定了我们组件的挂载点。

当然,在使用 Element Plus 的过程中,我们可能会遇到一些需要调试的问题,这时候我们可以使用 Vue Devtools 来进行调试。如果还遇到一些其他的问题,可以查看 Element Plus 的官方文档或者在社区中寻求帮助。

生命周期的不同

Vue 3 中与 Vue 2 生命周期相比,有以下变化:
beforeCreate 和 created 生命周期钩子函数的替代品是 setup 函数。在 Vue 3 中,大部分的组件逻辑都可以在 setup 函数中编写,包括组件的数据、计算属性、方法和生命周期函数等。
beforeMount 和 mounted 生命周期钩子函数的替代品是 onBeforeMount 和 onMounted 函数。
beforeUpdate 和 updated 生命周期钩子函数的替代品是 onBeforeUpdate 和 onUpdated 函数。
activated 和 deactivated 生命周期钩子函数不再有了替代品,这两个生命周期函数只在 keep-alive 组件中使用。
beforeDestroy 和 destroyed 生命周期钩子函数的替代品是 onBeforeUnmount 和 onUnmounted 函数。
errorCaptured 生命周期钩子函数的替代品是 onErrorCaptured 函数。
beforeRouteEnter、beforeRouteUpdate 和 beforeRouteLeave 生命周期钩子函数依赖于 Vue Router 的版本。在 v4 中,这些生命周期函数的替代品是 beforeRouteEnter 和 beforeRouteLeave 钩子函数。

关于VUE3一些知识点

Composition API

Composition API 允许我们按逻辑组织代码。它通过一组函数、ref、expose 等方法来管理组件内状态和行为。

例如,我们可以使用 reactive() 函数创建响应式对象:

import { reactive } from 'vue'

export default {
  setup() {
    const state = reactive({
      count: 0,
      increment() {
        state.count++
      }
    })

    return {
      state
    }
  }
}

在上面的例子中,我们使用 reactive() 函数来创建响应式对象 state。我们可以在 state 对象中使用 count 属性并将其绑定到模板中的一个元素上,以实现响应式更新。

Teleport

Teleport 允许我们在 DOM 树中的不同位置传输组件。它可以很容易地实现模态框、菜单等 UI 组件。

例如:

<template>
  <button @click="showModal = true">Show Modal</button>
  <teleport to="body">
    <div v-if="showModal" class="modal">
      <h2>Modal</h2>
      <button @click="showModal = false">Close Modal</button>
    </div>
  </teleport>
</template>

在上面的例子中,我们使用了 Teleport 组件将 modal 放置在了页面的 body 元素下。这样不仅可以避免组件层次过深,而且可以按照需要进行灵活布局。

Fragments

Fragment 允许我们在模板中使用多个根元素,并显式地声明根元素。

例如:

<template>
  <div>
    <h1>Hello, Vue 3!</h1>
    <ul>
      <li v-for="item in items" :key="item.id">{{ item.name }}</li>
    </ul>
  </div>
</template>

在上面的例子中,我们使用了 div 元素来包裹 h1 和 ul 元素。使用 Fragments,可以简化这个模板:

<template>
  <>
    <h1>Hello, Vue 3!</h1>
    <ul>
      <li v-for="item in items" :key="item.id">{{ item.name }}</li>
    </ul>
  </>
</template>

在上面的例子中,我们使用了 Fragment,以便可以在不使用 div 元素的情况下包含多个根元素。

Optimized Re-rendering

在 Vue 2 中,每个组件更新时都会重新渲染整个组件,这在大型应用程序中可能会导致性能问题。Vue 3 引入了许多优化,以提高性能。

例如,在 Vue 3 中,只有在被更改的数据上才进行更新,而在不变更的数据、方法和计算属性上则不会发生更新。

全部评论