不吃香菜的小斌 2021-08-10 16:38 采纳率: 0%
浏览 118
已结题

vue3.0请求的接口数据如何跨文件接收

我有强迫症,纯属是给自己找虐。写的代码就想规规矩矩整整齐齐。一个文件里不想放太多代码。所以遇见了下面的问题。在做vue3+ts项目的时候,
我把接口给拆分出来了。在setup文件里调用执行逻辑的ts文件,在执行逻辑的ts文件里调用了接口文件,接口文件里是如下这么写的,我需要在请求code值是200的时候就设置路由跳转到Home页面。但是我在这个文件里写完以后。控制台会报错,提示router没有push属性。打印router显示undefined,然而我在setup函数里调用路由是有值的,难道是因为我把文件拆分出来导致的吗?那这种问题有没有合适的解决办法呢?请教各位答疑解惑。
另外如果我不改动我的文件结构的情况下,在这个接口文件里如何能够将接口的值传回给页面呢?
在vue2的时候可以通过this指向去修改data数据。
在vu3里我想到了用vuex,但用vuex的话,后期可能会导致vux里的数据特别特别多。除了vuex还有别的办法实现跨文件去修改data数据吗?

/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
import { LOGIN } from '@/aips/interface'
import useLogicVerificationCode from './logicVerificationCode'
import { useRouter } from 'vue-router'

interface objFormData {
  valueData: string
}

const useRtieLogin = async (formData: objFormData) => { // 登录接口函数
  const result = await LOGIN(formData)
  const res = result.data
  switch (res.code) {
    case '200': {
      const data = res.data
      sessionStorage.setItem('token', data.token) // 存储token
      const router = useRouter()
      console.log(useRouter())
      router.push({ path: 'Home' })
      break
    }
  }
}
export { useRtieLogin }
  • 写回答

1条回答 默认 最新

  • 有问必答小助手 2021-08-11 17:18
    关注

    你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


    本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


    ​​因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。

    评论

报告相同问题?

问题事件

  • 系统已结题 8月18日
  • 创建了问题 8月10日

悬赏问题

  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd