鍍金池/ 問答/HTML/ 整個vue項目中如何優(yōu)雅的組織axios請求(不是指axios封裝)

整個vue項目中如何優(yōu)雅的組織axios請求(不是指axios封裝)

請教下:
你們vue項目中,怎么組織各個路由(頁面)下的axios請求以及數(shù)據(jù)呢;(不是指封裝axios,是指怎么在整個項目中用axios)
比如:我進入localhost:8080/news頁面,想請求新聞列表數(shù)據(jù);如果寫在news.vue的methods方法中,怎么一進來/news頁面就觸發(fā)請求呢,還是都寫在導(dǎo)航鉤子router.beforeEach((to, from, next) => {})方法里面觸發(fā)?

回答
編輯回答
陌上花

大概這樣吧

axios.com.js //還是要封裝下

import Axios from 'axios'
const Http = (path, method, domain) => {
     return (data, params) => {
        const url = domain + path;
        return Axios({
              method: method,
              url: url,
              data: data,
              params: params,
              }).then((response) => {
              const res = response.data;
              return res;
              }).catch((error) => {
              return error;
              });
    }
}
export function httpGet(path, domain) {
  return Http(path, 'get', domain);
}

api.js

import { httpGet} from './axios.com'; 
export default {
getGoodNew:httpGet('/news','localhost:5000')
}

main.js

import Vue from 'vue';
import Api from './api';
Vue.prototype.$Api = Api;
...
...
this.$Api.getGoodNew(data, params).then(res => {
//...
})
2017年6月16日 15:28
編輯回答
失魂人

可以在created周期鉤子里面調(diào)用請求方法函數(shù)觸發(fā)請求

2018年2月24日 09:31
編輯回答
久舊酒

方法在methods里面定義,在其他生命周期鉤子函數(shù)里調(diào)用

2017年9月6日 20:51