vue里面在data里面定义了变量,想要通过http请求获取,使用return不好使,刷新的时候取缓存好使直接this.获取好使,但是this.代码量比较大,还是希望return可以解决相关代码created(){this.sydLb=this.getEnumTypeDict({parentcode:'01'})this.sydJb=this.getEnumTypeDict({parentcode:'04'})},methods:{getEnumTypeDict(params){if(JSON.parse(window.localStorage.getItem(`sydJb${params.parentcode}`))){returnJSON.parse(window.localStorage.getItem(`sydJb${params.parentcode}`))}api.getEnumTypeDict(params).then(res=>{if(res.status===200&&res.data.code){setLocalStorage(`sydJb${params.parentcode}`,res.data.data.data)returnres.data.data.data}}).catch(error=>{console.log(error)})}}希望可以解决这个问题,使用this写两个方法实在有点麻烦
2 回答
回首忆惘然
TA贡献1847条经验 获得超11个赞
asynccreated(){this.sydLb=awaitthis.getEnumTypeDict({parentcode:'01'})this.sydJb=awaitthis.getEnumTypeDict({parentcode:'04'})},methods:{asyncgetEnumTypeDict(params){try{if(JSON.parse(window.localStorage.getItem(`sydJb${params.parentcode}`))){returnJSON.parse(window.localStorage.getItem(`sydJb${params.parentcode}`))}constres=api.getEnumTypeDict(params)if(res.status===200&&res.data.code){setLocalStorage(`sydJb${params.parentcode}`,res.data.data.data)returnres.data.data.data}}catch(e){//错误处理}}}
添加回答
举报
0/150
提交
取消