[TOC]

1.1 axios es8语法

  • 将发送ajax过程语法改变
  • 连个关键字:async/await
methods: {
   async add() {
   		//通过解构,获得response对象,data数据
   		let response = await axios.get('/user')
   		//从response解构data属性
   		let {data} = await axios.get('/user')
   		//给解构属性起别名
   		let {data: 别名} = await axios.get('/user')
   }
}

1.2 axios 拦截器

  • 发送ajax的前后,发送请求前(request),响应后(response)进行程序拦截
axios.interceptors.request.user(config=>{
    return config
},error=>{})
axios.interceptors.response.use( response=>{
	//放行
	return response
} , error=>{
    //异常处理,如果没有返回值或return error
    return Promise.reject(error)
})

1.3 router 全局导航守卫

  • 导航守卫:切换组件、阻止切换
  • **全局守卫:**所有组件通用
//全局前置守卫:路由切换前执行
router.beforeEach((to,from,next) => {
	//放行
	next()        //跳转到默认路由to
    next('路径')   //跳转到指定路径
})


//全局后置守卫:路由切换后执行
router.afterEach((to,from) => {

})
  • 路由独立守卫:某一个路由单独配置,给一个组件用router/index.js
{
    path:'/foo',
    component:Foo,
    beforeEnter:(to,from,next)=>{    //给当前路由配置"进入"拦截
        next()
    }
}

1.4 vuex 基本语法

什么是Vuex

Vuex是为了保存组件之间共享数据而诞生的,如果组件之间有要共享的数据,可以直接挂载到vuex中,而不必通过父子组件之间传值,如果组件的数据不需要共享,此时,这些不需要共享的私有数据,没有必要放到vuex中;

只有共享的数据,才有权利放到vuex中;

组件内部私有的数据,只要放到组件的data中即可;

Vuex是一个全局的共享数据储存区域,就相当于是一个数据的仓库

  • store/index.js内容 (脚手架生成的)
import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {          //储存数据

  },
  mutations: {      //修改数据

  },
  actions: {        //触发mutation

  },

  modules: {

  },
  getters: {      //获得数据

  }
})

  • vuex 数据操作
获得: this.$store.state.属性

修改: this.$store.commit('函数',值)

执行: this.$store.dispatche('action函数',值)

获得: this.$sotre.getters.函数名

1.5 vuex 全局引用

//导入vuex中,解构出函数
import {mapState,mapMutations,mapActions,mapGetters} from 'vuex'

//使用的使用
...mapState(['属性'])

日常学习的总结,主要是为了自己以后看,当然大家有什么好的建议,欢迎评论留言。

11-02 14:30