問題:在平臺選擇改變的時候獲取服務(wù)類目,但服務(wù)類目中接口入?yún)⒁恢睘榭?/p>
思路:感覺明明在watch已經(jīng)給platform 賦值過卻依然我沒值
所以只有一種可能就是,methods中方法的執(zhí)行順序 早于 watch
解決辦法:就是在平臺選擇改變時,給接口入?yún)①x值,添加了【代碼1】這一行
知識點:
1)watch在頁面初始化的時候不會執(zhí)行
2)觸發(fā)methods的執(zhí)行順序: methods -》 watch -》computed文章來源:http://www.zghlxwxcb.cn/news/detail-669467.html
參考鏈接:https://www.jianshu.com/p/f412bff6da82文章來源地址http://www.zghlxwxcb.cn/news/detail-669467.html
<template>
<Form ref="popupFormRef" :model="popupForm" :rules="popupFormRules" :label-width="120">
<FormItem label="平臺" prop="popSelectedPlatform">
<Select v-model="popupForm.popSelectedPlatform" placeholder="請選擇平臺" :disabled="condition" @on-change="platformChange">
<Option v-for="item in platformList" :value="item.value" :key="item.value">{{ item.label }}</Option>
</Select>
</FormItem>
</Form>
</template>
<script>
export default {
data(){
return {
popupForm: {
popSelectedPlatform: "全部",
platform: "",
},
platformList: [
{
label:"全部",
value:"全部"
},
{
label:"E服務(wù)小程序",
value:"2"
},
{
label:"E服務(wù)公眾號",
value:"3"
},
],
}
},
watch:{
"popupForm.popSelectedPlatform" : function(newValue,oldValue){
console.log("newValue:" + newValue,"oldValue:" + oldValue)
this.popupForm.platform = newValue == "全部"? '' : newValue
console.log("this.popupForm.platform:" + this.popupForm.platform)
}
},
methods:{
platformChange(val){
console.log(val)
if(val != "全部"){
this.popupForm.platform = val // 代碼1
this.getCategoryList()
}
},
// 根據(jù)平臺查詢服務(wù)類目接口
getCategoryList(){
console.log(this.popupForm.platform,283)
getCategory({ platform: this.popupForm.platform }).then(res => {
console.log(res)
if(res.ret == '00000'){
this.serviceCategoryList = res.data
}
})
},
}
}
</script>
<style></style>
到了這里,關(guān)于watch 和 methods 執(zhí)行順序的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!