在api下創建一個新的文件如test.js,里面放所有的請求
const baseURL = 'https://xxx.com/' import axios from 'axios' import qs from 'qs'; export function tabdatas(ty=1) { return axios({ headers: { "Content-Type": "application/x-www-form-urlencoded" }, method: "post", url: baseURL + "xx", data: qs.stringify({ty}) }); }
用到qs來處理發送請求的參數 npm i qs
*在使用Post時候要使用qs.stringify(),請求頭里需設置
"Content-Type": "application/x-www-form-urlencoded"
之后就可以在pages里的文件寫切換代碼了
<template> <div class="container"> <ul> <li @click="cur=1">內容1</li> <li @click="cur=2">內容2</li> <li @click="cur=3">內容3</li> </ul> <ul> <li v-for="(item,i) in news_data" :key="i">{{item.title}}</li> </ul> </div> </template> <script> import {tabdatas} from "~/api/tests.js" export default { async asyncData({params}) { let [res2] = await Promise.all([ tabdatas(), ]) return { news_data: res2.data.data, }; }, watch: { cur(val) { this.tabdatas(val).then((res) => { this.news_data = res.data.data }) }, }, data(){ return{ cur: 1, tabdatas, } } } </script> <style> </style>
完成!
請多多指教呀~\(≧▽≦)/~