Vue.js 是一个用于构建用户界面的渐进式JavaScript框架。它旨在易于上手,同时对于复杂的单页应用(SPA)也有强大的功能支持。
环境准备与项目启动
安装 Node.js 和 npm
Vue CLI 工具依赖于 Node.js 的环境,因此在安装 Vue CLI 之前,请确保机器已经安装了 Node.js 和 npm ,npm 是 Node.js 包管理器。你可以通过访问 [Node.js官方网站]来下载并安装最新版本。
Node.js官方网站:https://nodejs.org/
安装 Vue CLI
Vue CLI 是官方提供的命令行工具,可以帮助快速搭建Vue项目的脚手架。打开命令行终端,执行以下命令来全局安装 Vue CLI:
npm install -g @vue/cli
创建新项目
安装完成后,可以使用以下命令创建一个新的 Vue 项目:
vue create my-project
my-project 是项目的名称,你可以根据需要替换为任何喜欢的名字。CLI 将引导你选择一些配置选项,例如是否要使用路由、Vuex状态管理等。
启动开发服务器
进入你的项目文件夹后,可以通过下面的命令启动本地开发服务器:
cd my-project
npm run dev
这将在默认的 http://localhost:8080 地址启动一个热重载的开发服务器。
Vue 组件学习
什么是组件?
Vue 组件是可复用的 Vue 实例,具有自己的属性和行为。它们扩展了 HTML 元素,封装了可重用的代码。组件系统是 Vue 的一个重要特性,几乎所有的 Vue 应用都是基于组件构建的。
定义一个简单的组件
你可以通过以下方式定义一个全局组件:
Vue.component('my-component-name', {
// 选项...
})
或者,在使用单文件组件(SFC, Single File Component)时,定义局部组件:
<template>
<div class="my-component">
<!-- 组件模板 -->
</div>
</template>
<script>
export default {
name: 'MyComponentName',
// 选项...
}
</script>
<style scoped>
/* 组件样式 */
</style>
使用组件
结合 Element UI 构建高效组件
安装与配置
安装 Element UI
在开始使用 Element UI 之前,你需要确保已经安装了 Vue CLI 并创建了一个 Vue 项目。
引入 Element UI
安装完成后,需要将 Element UI 的样式和脚本引入到你的项目中。有几种方式可以做到这一点:全局引入
在 main.js 文件中添加以下代码来全局引入整个 Element UI 库:
import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import App from './App.vue';
Vue.use(ElementUI);
new Vue({
render: h => h(App),
}).$mount('#app');
按需加载
为了减少打包体积,建议仅导入实际使用的组件。可以使用 babel-plugin-component 插件来实现按需加载:
npm install babel-plugin-component -D
然后,在 .babelrc 或 babel.config.js 中添加配置:
{
"plugins": [
["component", [
{"libraryName": "element-ui", "styleLibraryName": "theme-chalk"}
]]
]
}
现在可以单独引入组件了,例如按钮组件:
import { Button } from 'element-ui';
Vue.use(Button);
使用 Element UI 组件
可以到 Element UI 官网学习各个组件:https://element.eleme.cn/#/zh-CN/
基础用法
Element UI 提供了许多实用的组件,如 Button(按钮)、Form(表单)、Table(表格)等。这里以按钮为例展示如何使用它。
创建一个按钮组件
首先,在模板中添加 `<el-button>` 标签:
<template>
<div id="app">
<el-button type="primary">主要按钮</el-button>
</div>
</template>
添加事件监听器
我们还可以给按钮添加点击事件处理函数:
<template>
<div id="app">
<el-button @click="handleClick">点击我</el-button>
</div>
</template>
<script>
export default {
methods: {
handleClick() {
alert('按钮被点击了!');
}
}
}
</script>
表单验证
Element UI 的 Form 组件支持内置的字段验证。你可以定义规则并指定要验证的属性。创建一个带有验证的登录表单
<template>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="用户名" prop="username">
<el-input v-model="ruleForm.username"></el-input>
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input type="password" v-model="ruleForm.password" autocomplete="off"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')">提交</el-button>
<el-button @click="resetForm('ruleForm')">重置</el-button>
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
ruleForm: {
username: '',
password: ''
},
rules: {
username: [
{ required: true, message: '请输入用户名', trigger: 'blur' },
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
],
password: [
{ required: true, message: '请输入密码', trigger: 'blur' },
{ min: 6, max: 18, message: '长度在 6 到 18 个字符', trigger: 'blur' }
]
}
};
},
methods: {
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
alert('提交成功!');
} else {
console.log('错误提交!!');
return false;
}
});
},
resetForm(formName) {
this.$refs[formName].resetFields();
}
}
};
</script>