vue+axios拦截器+router+vuex(小结)

axios拦截器:
请求拦截器:
axios.interceptors.request.use(funciton(config){
    eg:post请求需要转换参数类型,打印config,找到参数位置,进行转换处理
    if(config.method='post'){
        config.data=Qs.stringify(config.data)
    }
    return config  在请求之前做什么
},function(error){
    return Promise.reject(error); 
});
响应拦截器:
axios.interceptors.response.use(funciton(response){
    return response  在响应之前做什么
},function(error){
    return Promise.reject(error); 
});

vue-router 路由
1.创建router文件夹,创建router.js
引入需要跳转的组件,定义routes数组变量,写入路由地址对象{path,component,…},然后导出全局
2.在main.js中引入vue-router,引入index.js文件,使用Vue.use(VueRouter)
定义常量router,new出引入的VueRouter对象,实例化引入的router.js,在Vue对象中挂在常量router
3.在根组件视图中渲染路由组件,渲染之前先加载固定视图
4.在固定视图中使用加载组件
5.路由嵌套:在路由地址对象中使用children属性(数组),再写入完整路由地址对象,子路由地址前不加/,
默认显示页使用redirect重定向属性定义路由地址,子路由的router-link中地址不加/
三级嵌套以此类推
6.路由间参数传递,
在路由地址后写入 /:参数名
在路由地址对象中使用name属性,在组件中命名组件,
在,参数可以是对象,变量
接受参数:在需要接受的组件中使用$route.params.参数名接收参数
7.路由高亮
在中使用exact模式即可

vuex 状态管理
1.state:驱动应用的数据源
2.view:以声明方式将state映射到视图
3.actions:异步状态变化
组件视图 -> actions -> mutation -> state ->组件视图 ,
actions不是必要步骤,若有异步处理才需使用actions
使用:
1.创建vuex文件夹,创建vuex.js文件
定义变量state,actions,mutations,导出全局
在state中定义需要管理的状态,
获取状态:this.store.state.变量名
在getters中定义处理state中的状态方法,方法中传入state
获取状态:this.store.getters.函数名
在mutations中定义状态改变的方法,方法中需传入参数state,
变更状态:this.store.commit)(“方法名”)
在actions中定义异步操作,方法中需传入参数context(context.commit(“mutations方法名”))
异步变更:this.store.dispatch(“方法名”)
2.在main.js中引入vue-vuex,使用Vue.use(VueRouter)
定义常量store,new出Vuex.Store对象
实例化引入的vuex.js
在Vue对象中挂在常量store

你可能感兴趣的:(vue,前端,vue,拦截器)