Vue_UI与Vuex
UI库
element-ui
官网:https://element.eleme.cn/#/zh-CN/component/installationhttps://element.eleme.cn/#/zh-CN/component/installation
Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库
element-ui是基于vue框的一个第三方的PC端组件库
element-ui组件库是饿了么前端开发团队开发和维护的组件库
安装:
npm安装
CDN
目前可以通过 unpkg.com/element-ui 获取到最新版本的资源,在页面上引入 js 和 css 文件即可开始使用。
<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
引入
完整引入
按需引入
安装babel
npm install babel-plugin-component -D
对于-D的解释:
npm install module_name --save-dev
写入到 devDependencies 对象,devDependencies ,
是我们开发的时候需要用到的一些包,只需要用于开发阶段,
真正打包上线的时候并不需要这些包,因为这些工具只是你用来打包代码的,
是用来识别特定文件以及代码,帮助我们生产最终文件的
与此同时,-S表示:
npm install module_name --save
写入到 dependencies 对象
dependencies,这个则是需要发布到生产环境中的,
就比如你要跑一个基于vue的项目,所以需要vue.js来支持,
而这个vue.js文件就需要跟随项目到最终的生产环境
配置babel.config.js
"plugins": [
[
"component",
{
"libraryName": "element-ui",
"styleLibraryName": "theme-chalk"
}
]
]
使用
iview
iview组件库是一个基于Vue框架的PC端组件库
官网:
https://www.iviewui.com/docs/introducehttps://www.iviewui.com/docs/introduce
安装
npm install view-design --save
npm i view-design -S
引入
全局引入
按需引入
npm install babel-plugin-import --save-dev
"plugins": [["import", {
"libraryName": "view-design",
"libraryDirectory": "src/components"
}]]
vant
介绍
Vant - Mobile UI Components built on Vuehttps://vant-contrib.gitee.io/vant/#/zh-CN/
基于Vue框架的移动端组件库
轻量、可靠的移动端 Vue 组件库
安装
npm i vant -S
引入
全局引入
按需引入
npm i babel-plugin-import -D
"plugins": [
["import", {
"libraryName": "vant",
"libraryDirectory": "es",
"style": true
}]
]
VUEX
面对复杂的传参环境,父子,子父,非父子可以实现功能,但是比较繁琐,不利于状态的一致性。
var state = true;
if(*){
state = false
}
console.log(state)
介绍
安装
npm i vuex -S
使用流程
当将vuex注册到项目上的时候,vue组件实例拥有了一个$store的方法,里面包含了可以操作vuex的所有方法。
this.$store.state
this.$store.dispatch 用来在组件当中调用vuex的action方法,有两个参数,一个是调用函数的名称,另外一个是函数的需要的参数
但是,在定义action函数的时候,有一个默认的函数,第二个形参才是用来接收组件传递的参数的。
context.commit 两个参数,用来action当中调用 mutation的方法
mutation方法拥有默认参数来接受state对象
补充
在组件当中也有commit方法,所以,在组件当中也可以调用mutations当中的方法
在action的上下文对象当中,也有dispatch方法,所以,action函数可以相互调用
辅助方法
getters
相当于组件当中computed,用于计算
vuex映射方法
map
直接通过this.$store可以完成对action,mutations,state的调用,但是比较繁琐,所以提供了vuex映射方法。
mapState vuex关于state的辅助方法,可以直接将state当中的变量添加到vue组件的computed当中,然后在组件当中安装computed计算属性直接调用 mapGetters vuex关于getters的辅助方法,可以直接将getters当中的变量添加到vue组件的computed当中,然后在组件当中安装computed计算属性直接调用 mapActions vuex关于action的辅助方法,可以直接将action当中的方法添加到vue组件的methods当中,然后在组件当中安装methods方法直接调用 mapMutations vuex关于mutations的辅助方法,可以直接将mutations当中的方法添加到vue组件的methods当中,然后在组件当中安装methods方法直接调用
总结
创建一下vue+element-ui的项目
前端路由 vue-router
状态数据 vuex
安装axios
npm i axios -S
安装ui框架
npm i element-ui -S
导入element-ui
vuex查询轮播图