在项目中引入阿里图库
- 在阿里图库中,选好图标,建立好项目
- 将整个项目的图标下载到本地解压
- 在
Vue.js
项目的assets
目录中,新建一个icon目录,将解压后文件夹里面的文件复制到这个目录下 - 在
main.js
文件里引入iconfont.css
,import '@/assets/icon/iconfont.css'
- 在项目中引入图标的时候要加上
iconfont
类,然后再添加图标本身的类名
链接文字的写法(路由跳转)
不传参
1 | 声明式:<router-link :to="{name:'index'}}"> 或者 <router-link to='/index'> |
传参
1 | 声明式:<router-link :to="{name:'index',query:{id:'xxx',name:'xxx'}}"> |
路由
1 | component: () => import('@/views/dashboard/console/index.vue'), |
Vue.js 组件中绑定点击事件不生效的解决方法
在使用组件(比如 element UI)的过程中,会发现无法通过 @click 绑定标签的点击事件。
因为 Vue.js 使用的是一套自己的事件传递机制,所以我们需要添加 @click.native 来绑定 DOM 原生事件。
1 | <el-dropdown-item icon="el-icon-unlock" @click.native="resetPass"></el-dropdown-item> |
Vuex的store的使用
注意:改变store值,要使用mutations,不要直接改变
store.js文件:
1 | export default new Vuex.Store({ |
在页面中的使用:
1 | 在页面中引入: |
$emit的使用
通过 Event Bus 进行组件间通信,来折叠侧边栏
bus.js:
1 | import Vue from 'vue'; |
1 | 在点击事件的组件中: |
如何将element-ui中的表格和分页器连接起来
1 | <el-table |
在vue项目中使用sass的配置方法
1、安装sass的依赖包
sass-loader依赖于node-sass
1 | npm install sass-loader node-sass --save-dev |
2、在build文件夹下的webpack.base.conf.js的rules里面添加配置
1 | { |
如下图所示:
3、在APP.vue中修改style标签
1 | <style lang="scss"> |
4、运行项目
1 | npm run dev |
注意:
如有以下报错,是版本的问题影响的:
Module build failed: TypeError: this.getResolve is not a function at Object.loader 安装node-sass运行报错
- 解决方法: 选择更低版本的sass-loader
- 卸载当前版本:npm uninstall sass-loader
- 安装指定版本:npm install sass-loader@7.3.1 –save-dev
参考: 安装node-sass运行报错
Vue项目设置每个页面的title
1、在项目目录下安装vue-wechat-title
1 | cnpm i vue-wechat-title --save-dev |
2、在main.js中 使用vue-wechat-title
1 | Vue.use(require('vue-wechat-title')) //实例化参数 |
3、在router的配置中设置
1 | { |
4、在每个vue页面中加入
1 | <div class="content content-box"> |
【参考】: vue项目设置每个页面的title
Vue.js + ElementUI导航写法
方法一(基本的):
ElementUI导航通常会和vue-router一起使用,所以与官网的示例的写法不太一样。具体写法如下:
1 | <el-menu :default-active="$route.path" class="el-menu-vertical-demo" router> |
data里则是正常的数据即可:
1 | data(){ |
【参考】: VUE elementUi导航写法
方法二(加上图标的):
1 | <el-menu :default-active="$route.path" class="el-menu-vertical-demo" router> |
data里面:
1 | items:[ |