1、原來項目中使用jquery實現改爲vue後,調用接口的參數出現ajax的嵌套調用,導致第二次axios請求完全沒有任何反應,連請求都沒有發送,很是奇怪;
解決方案:監聽某個屬性(第一次ajax請求拿到的參數)是否發生變化,發生變化再調用第二次函數即可
watch:{
'param':{
handler:(val,oldVal)=>{
監聽param (還可以監聽param內部的變化)
},
deep:true
}
}
2、請求接口之前的參數,需要經過處理,爲簡化代碼調用函數返回值賦給這個參數,但由於vue是異步問題,它並不會等函數走完將值賦給參數再發送請求而是同時執行,導致傳的參是初始值,並未經過處理;
同樣可以利用監聽,當調用過函數,某個變量值發生變化時,再監聽調用ajax請求;
當然這些也可以使用定時器延時,但肯定也不是最佳解決方案;
希望有更好的解決方案可以提供;