lodash
javascript使用工具库
1 | npm install lodash --save |
element-plus
UI组件
1 | npm install element-plus --save |
1 | //main.js |
请求时配置的参数优先级 > defaults参数 > axios默认配置
可配置请求参数:
- url
- method (默认’get’)
- baseURL
- transformRequest (拦截请求,传入data、headers,修改后返回data)
- transformResponse (拦截返回,传入data,修改后返回data)
- headers
- paramsSerializer (自定义参数序列化方法)
- data (要发送的数据)
- timeout
- withCredentials (跨域请求是否需要凭证)
- auth (设置用户信息)
- responseType (响应数据的类型,默认’json’)
- responseEncoding (响应数据的编码方式,默认’utf8’)
- maxContentLength (响应的最大字节数)
- maxBodyLength (响应内容的最大字节数)
- validateStatus (自定义状态是成功或失败,传入status状态码,返回true/false)
返回的数据:
- data
- status
- statusText
- headers
- config (请求时的配置信息)
- request (请求实例)
拦截器
1 | //设置拦截器 |
import { createRouter, createWebHashHistory } from 'vue-router';
import HelloWorld from './components/HelloWorld.vue'
import WeatherPage from './components/WeatherPage.vue'
import User from './components/UserPage.vue'
const routes = [
{ path: '/helloword', component: HelloWorld },
{ path: '/weather', component: WeatherPage },
//请求链接:/user/名字/123。页面取值:this.$route.params.username
{ path: '/user/:username/:id', component: User },
];
const router = createRouter({
history: createWebHashHistory(),
routes: routes
})
mounted方法只有在页面销毁重建才会调用。
如果同一个页面参数不同跳过去,需要实现beforeRouteUpdate。
//同一页面参数不同时调用(路由更新),但首次进入时不会调用。
//to.params.username。新参数从to取。
beforeRouteUpdate(to, from) {
console.log(to, from);
},
嵌套路由
//在User页面内嵌<router-view></router-view>用户塞入子页面
//可以通过“/user/用户名/111/friends/6”访问
const routes = [
{
path: '/user/:username/:id',
component: User,
children: [
{ path: 'friends/:count', component: Friends },
],
},
];