鍍金池/ 問(wèn)答/Linux  HTML/ Vue2.x 三級(jí)聯(lián)動(dòng)異步賦值

Vue2.x 三級(jí)聯(lián)動(dòng)異步賦值

一個(gè)類似省市區(qū)三級(jí)聯(lián)動(dòng)的模型,我通過(guò)watch監(jiān)聽(tīng)值的變化來(lái)做到三級(jí)聯(lián)動(dòng)的內(nèi)容更新。


  watch: {
    item1: function(val, oldVal) {
      this.$refs.form.validateField("item_id");
      querysByParam({ parentSid: val, itemStatus: 1 }).then(res => {
        this.item2 = "";
        this.itemData2 = res.data;
      });
    },
    item2: function(val, oldVal) {
      querysByParam({ parentSid: val, itemStatus: 1 }).then(res => {
        this.item3 = "";
        this.itemData3 = res.data;
      });
    }
  },

現(xiàn)在,以上都是沒(méi)有任何問(wèn)題的。
但是,給出item1,item2,item3的值并賦值進(jìn)三級(jí)聯(lián)動(dòng)中,因?yàn)槭钱惒降?,并不知道這個(gè)監(jiān)聽(tīng)是否執(zhí)行完畢了,無(wú)法賦值~

官網(wǎng)有個(gè)

vm.$watch('a', callback, {
  immediate: true
})
// 立即以 `a` 的當(dāng)前值觸發(fā)回調(diào)

但是,這個(gè)也不會(huì)有返回值告訴我是否執(zhí)行成功,該怎么判斷怎么賦值

回答
編輯回答
法克魷

把異步變同步,用async+await

2017年6月12日 13:32