vue2搭建

1.安装命令

1.安装node.js

官网:http://nodejs.cn/下载(长期支持版本)
终端输入:node -v || npm -v(查看版本)

2.安装cnpm

官网:https://npmmirror.com/
安装:npm install -g cnpm --registry=https://registry.npmmirror.com

3.安装yarn

npm install -g yarn

4.安装vue-cli

cnpm install -g @vue-cli

5.创建项目

vue create 名称(名称不可大写)

6.引入element-ui

官网:https://element.eleme.cn/#/zh-CN
安装:npm i element-ui -S
全局引入(全局引入打包后会将所有打包增加项目体积)

image.png

按需引入(main.js中将组件解构,分别注入:vue.use(组件))
image.png

将 .babelrc 修改为:
image.png

7.引入vue-router

安装:npm i vue-router@3.2.0
main.js中引入router,根目录下面创建router文件夹,index.js文件


image.png
image.png

router中index.js


image.png

App.vue中


image.png

8.页面内容

安装less:npm i less
npm i less-loader@5.0.0

9.安装vuex(vue2.0只能安装vuex3.x版本,最高3.6.2,vue3.0才能装vuex4.x版本)

npm i vuex

10.安装axios

官网:http://axios-js.com/
npm i axios

11.引入mock

安装:npm i mockjs

12.引入echarts

安装:npm i echarts@5.1.2

2.各种使用

1.使用vuex进行父子传递

安装(参考命令)

在main.js中引入


image.png

1.1创建文件夹---store,新建index.js及各种模块js(tab.js)

image.png

1.2store中index.js中引入

image.png

1.3tab.js中写需求

image.png

1.4父子传信(此isCollapse开始为data中数据,用计算属性后data中可删除)

image.png

1.5父子传信 页面加入点击事件及方法

image.png

image.png

2.表格渲染

2.1data中定义表头内容(与表格对应)

image.png

image.png

2.2页面循环

image.png

3.axios及mock使用

3.1在main.js中全局引入

image.png

3.2axios二次封装

3.2.1在项目中新建文件夹---api---axios.js

image.png

3.2.2新建处理axios相关配置文件---config

image.png

3.2.3config---index.js

export default {
 baseUrl: {
     dev: '/api/', //开发环境
     pro: '' //生产环境
 }
}

3.2.4axios中引入

import axios from 'axios'
import config from '../config'
     // 判断当前运行环境
const baseUrl = process.env.NODE_ENV === 'development' ? config.baseUrl.dev : config.baseUrl.pro
       // axios工具类
class HttpRequest {
   constructor(baseUrl) {
       // 初始化
       this.baseUrl = baseUrl
   }
   getInsideConfig() {
           const config = {
               baseUrl: this.baseUrl,
               header: {}
           }
           return config
       }
       // 拦截器
   interceptors(instance) {
       // 添加请求拦截器
       instance.interceptors.request.use(function(config) {
           // 在发送请求之前做些什么
           return config;
       }, function(error) {
           // 对请求错误做些什么
           return Promise.reject(error);
       });

       // 添加响应拦截器
       instance.interceptors.response.use(function(response) {
           console.log(response)
               // 对响应数据做点什么
           return response;
       }, function(error) {
           console.log(error)
               // 对响应错误做点什么
           return Promise.reject(error);
       });
   }
   request(options) {
       const instance = axios.create()
       options = {...this.getInsideConfig(), ...options }
       this.interceptors(instance)
       return instance(options)
   }
}
export default new HttpRequest(baseUrl)

3.2.5axios同级创建data.js(接口请求存放)

import axios from './axios'
      // 首页接口
export const getData = () => {
    return axios.request({
        url: "/home/getData"
    })
}

3.2.6mock使用,安装(参考命令)新建mock.js

image.png

3.2.7新建一个文件存放所有mock---mockServeData

image.png

3.2.8mock.js中

import mock from 'mockjs'
import homeApi from './mockServeData/home'


mock.mock('/home/getData', homeApi.getStatisticalData)

3.2.9mian.js中引入

image.png

3.2.10home页面调用

image.png

image.png

4.面包屑导航

4.1在需要的位置引入element ui面包屑组件

4.2在vuex中写需求

image.png

4.3在左侧点击事件内

image.png

4.4在面包屑页面

image.png

image.png

4.5如果报错

image.png

在router中index.js中加入

// 解决:Uncaught (in promise) NavigationDuplicated; 
let originalPush = VueRouter.prototype.push; // 先保存一份 VueRouter.prototype.push方法
let originalRepace = VueRouter.prototype.replace;

VueRouter.prototype.push = function push(location) {
    // call(); 篡改上下文    catch(); 捕获异常 **** 
    return originalPush.call(this, location).catch(e => e);
}
VueRouter.prototype.replace = function replace(location) {
    return originalRepace.call(this, location).catch(e => e);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,427评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,551评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,747评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,939评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,955评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,737评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,448评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,352评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,834评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,992评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,133评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,815评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,477评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,022评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,147评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,398评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,077评论 2 355

推荐阅读更多精彩内容