【10.0】Vue之插件
【一】插件
-
插件功能:用于增强Vue,有很多第三方插件
(vuex,router,elemetui)
-
定义自己的插件
- 本质:包含install方法的一个对象,install的第一个参数是Vue,第二个以后的参数是插件使用者传递的数据
-
使用步骤:
-
定义插件
- plugins---》index.js---》
export default { install() { # 1 在vue实例中放属性 # 2 定义混入,全局都可以使用混入 # 3 自定义指令(不讲了)---》以后我们可能使用了一个第三方插件,它提供了一些指令 v-lq # 4 定义全局组件---》全局 } }
-
在main.js中 使用插件
import child from '@/plugins' Vue.use(child) # 这句话,就会执行child中得install,并且把vue传入
-
import axios from "axios";
import Vue from 'vue';
export default {
install(vue) {
// console.log(vue) // vue 实例
// 1 在vue实例中放属性
// 向Vue的原型中方axios对象,在组件中 this.$ajax ----> 拿到的就是 axios 对象 ,直接使用即可
// Vue.prototype.$ajax = axios;
// 2 定义混入,全局都可以使用混入
// Vue.mixin({
// data() {
// return {
// name: 'child',
// }
// },
// methods: {
// clickFunc() {
// alert(this.name)
// }
// }
// })
// 3 自定义指令(不讲了)---》以后我们可能使用了一个第三方插件,它提供了一些指令 v-lq
// 4 定义全局组件---》全局
}
};
【二】Elementui
-
ElementUI是一个基于Vue.js的UI库,用于控制样式和提供丰富的组件、指令和工具。
- 通过引入ElementUI,可以快速构建美观、响应式的用户界面。
-
在Vue项目中使用ElementUI,需要进行以下配置步骤:
-
在项目中安装
cnpm install element-ui -S
-
main.js配置
- 导入ElementUI对象:
- 在main.js文件中
- 使用
import ElementUI from 'element-ui'
将ElementUI对象引入。
- 引入ElementUI样式:
- 继续在main.js文件中
- 使用
import 'element-ui/lib/theme-chalk/index.css'
引入ElementUI的样式。
// 导入ElementUI对象 import ElementUI from 'element-ui'; // 引入ElementUI样式 import 'element-ui/lib/theme-chalk/index.css';
- 导入ElementUI对象:
-
注册ElementUI组件:
- 在main.js文件中,通过
Vue.use(ElementUI)
全局注册ElementUI组件,并使其可在所有的Vue组件中使用。
Vue.use(ElementUI)
- 在main.js文件中,通过
-
这样配置完成后,就可以在项目中直接使用ElementUI提供的组件和样式了。
- 如果在其他组件中看到了喜欢的ElementUI的样式效果,可以直接复制相关的HTML、CSS和JavaScript代码来使用。
- 通过引入ElementUI,可以简化UI设计和开发工作,提供了许多常用的交互组件和布局,如按钮、弹窗、表格等。
- 此外,ElementUI还提供了一些附加的功能,如表单验证、日期选择器、图标库等,可根据具体需求灵活使用。
-
【三】Elementui的使用
<template>
<div>
<h1>按钮的使用</h1>
<el-button-group>
<el-button type="primary" icon="el-icon-edit"></el-button>
<el-button type="primary" icon="el-icon-share" @click="handleClick"></el-button>
<el-button type="primary" icon="el-icon-delete"></el-button>
</el-button-group>
<hr>
<h1>带链接的文字</h1>
<div>
<el-link href="https://element.eleme.io" target="_blank" type="danger">点我看美女</el-link>
</div>
<h1>Radio单选</h1>
<el-radio v-model="radio" label="1">男</el-radio>
<el-radio v-model="radio" label="2">女</el-radio>
<h1>input</h1>
<div style="margin-top: 15px;">
<el-input placeholder="请输入内容" v-model="input3" class="input-with-select">
<el-select v-model="select" slot="prepend" placeholder="请选择" style="width: 130px">
<el-option label="餐厅名" value="1"></el-option>
<el-option label="订单号" value="2"></el-option>
<el-option label="用户电话" value="3"></el-option>
</el-select>
<el-button slot="append" icon="el-icon-search" @click="handleClick2"></el-button>
</el-input>
</div>
<h1>表格</h1>
<el-table
:data="tableData"
stripe
style="width: 100%">
<el-table-column
prop="date"
label="日期"
width="180">
</el-table-column>
<el-table-column
prop="name"
label="姓名"
width="180">
</el-table-column>
<el-table-column
prop="address"
label="地址">
</el-table-column>
</el-table>
<h1>message消息提示</h1>
<el-button :plain="true" @click="open4">错误</el-button>
</div>
</template>
<script>
export default {
name: "ElementUIView",
data() {
return {
radio: '1',
input3: '',
select: '',
tableData: [{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀区金沙江路 1517 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
}]
}
},
methods: {
handleClick() {
location.href = 'http://www.baidu.com'
},
handleClick2() {
console.log(this.select)
console.log(this.input3)
},
open4() {
this.$message({
message: '恭喜你,这是一条成功消息',
type: 'success'
});
}
}
}
</script>
<style scoped>
.input-with-select .el-input-group__prepend {
background-color: #fff;
}
</style>
本文来自博客园,作者:Chimengmeng,转载请注明原文链接:https://www.cnblogs.com/dream-ze/p/17610524.html