整理vue项目的笔记

1、Vue.component()创建组件。注册全局组件,也就是说在他们注册完后可以在任何vue实例中使用。

for example:

import pContainer form './common/PContainer.vue' 

Vue.component('pContainer',pContainer)   // 第一个pConainer是定义的组件名字。第二个PContainer是import进来的组件

export {

pContainer //输出

}

在某个vue实例中使用:

<template>

   <div>

    <p-container></p-container>

   </div>

</template>

上面使用export,那么和export defalut有什么区别呢?

export和export defalut是用于导出常量,函数,文件和模块等。你可以在其他文件或者模块中 import 函数,常量,文件和模块等。在一个文件或者模块里,export可以有多个,但是export defalut只有一个。它们的使用形式不同:export {} 导出需要带上{},而export defalut则不需要。

2、vue自定义函数倒挂在全局方法

方法一:使用Vue.prototype.getToken = function(){.....}

在所有组件中可使用:this.getToken()

方法二:export defalut{  //index.js

   install(Vue){

    Vue.prototype.getToken() = function(){........}

  }

}

在main.js中 import index,.js  并且Vue.use()

3、Vue.use()

需要使用Vue.use()的组件也就是需要install的组件,install是默认的方法,当外界use这个组件时,就会调用install方法

4、请求时是否需要带上token

先是可以定义一个获取token的函数  for example:

let api = null

let token = ()=>{

  return token

}

let api0 = {

  GET:function(key){

   let val = api[key]

   if(key !== 'LOGIN'){  //如果是登陆,则不带上token

     val = val + '?token' + token()

   }

   return val

  }

}

export defalut {

  insatll(Vue,{getToken}){

    if(typeof getToken === 'function'){

      token = getToken

    }

    Vue.prototye.$api = api0

 }

}

// 以上代码简短,只写部分。

5、默认的请求的基本路径:axios.defalut.baseURL,注意是baseURL!!!

6、路由拦截

meta:{

   requireAuth: true  //表示进入该路由是需要登陆的,如果用户已经登陆,则顺利进入该路由,否则就进入登陆页面。

}

定义完路由后,根据vue-router的钩子函数beforeEach()进行路由判断

拦截器的使用:axios.interceptors.request.use()  axios.interceptors.response.use()

Promise.reject(err) 抛出错误

猜你喜欢

转载自blog.csdn.net/qq_38401285/article/details/85231324