请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

同步异步

data() {
 return {

gradeList: [],
gradeCode: '',
 }
},

created() {
 this._getGradeList()

this._getParam()

},

methods: {
 _getGradeList() {
   let param = {
     teacherCode: teacherCode
   }
   axios.post('/getGradeList', param).then((res) => {
     if (res.status === ERR_OK) {
       this.gradeList = res.data.data
       this.gradeCode = this.gradeList[0].gradeCode
     }
   })
 },
 _getParam() {
   console.log(this.gradeCode)
  
     const param = {
      gradeCode: this.gradeCode,
     }
     console.log(param)
     return param
 }
},


我的问题是在 _getGradeList()方法里打印this.gradeCode是4,但是在_getParam()方法里打印还是初始值'',不是4,想到是因为异步的原因,怎么解决呢

正在回答 回答被采纳积分+3

2回答

提问者 慕粉15201527929 2018-06-09 08:46:46

Getparam是公共方法,不能那么写,别的地方还用,有什么好的办法吗

0 回复 有任何疑惑可以回复我~
  • 公共方法不能调用吗?或者异步方法设计成可以传回调函数的形式。
    回复 有任何疑惑可以回复我~ 2018-06-09 13:12:23
  • 提问者 慕粉15201527929 回复 ustbhuangyi #2
    我用watch解决了这个问题,不知道合不合理
    回复 有任何疑惑可以回复我~ 2018-06-09 13:15:29
  • 提问者 慕粉15201527929 回复 ustbhuangyi #3
    观测code的变化,再调用函数
    回复 有任何疑惑可以回复我~ 2018-06-09 13:16:06
ustbhuangyi 2018-06-09 02:49:20

你在请求回调函数里去执行 this._getParam() 即可。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信