整个vue项目中如何优雅的组织axios请求(不是指axios封装)

发布于 2022-09-06 19:24:56 字数 225 浏览 9 评论 0

请教下:
你们vue项目中,怎么组织各个路由(页面)下的axios请求以及数据呢;(不是指封装axios,是指怎么在整个项目中用axios)
比如:我进入localhost:8080/news页面,想请求新闻列表数据;如果写在news.vue的methods方法中,怎么一进来/news页面就触发请求呢,还是都写在导航钩子router.beforeEach((to, from, next) => {})方法里面触发?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

浴红衣 2022-09-13 19:24:56

可以在created周期钩子里面调用请求方法函数触发请求

罗罗贝儿 2022-09-13 19:24:56

大概这样吧

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 => {
//...
})
守望孤独 2022-09-13 19:24:56

方法在methods里面定义,在其他生命周期钩子函数里调用

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文