在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue子父組件傳值,想要等axios返回之后再渲染子組件,但是不得行,怎么解決

vue子父組件傳值,想要等axios返回之后再渲染子組件,但是不得行,怎么解決

vue里面想通過prop傳值給子組件,本身父組件綁定的值有默認值,希望能在axios后臺返回數(shù)據(jù)之后,在本身的數(shù)據(jù)上extend 更多的對象再傳到子組件,這個問題怎么解決呢?

<template>
  <a-component  :opt="opt" ></a-component>
</template>
<script>
  export default{
    data(){
      return {
        opt:{
          a:1,
          b:2
        }
      }
    },
    methods:{
        getList(){
            axios.get('').then(function (res) {
          _.extend(_this.opt,{
              c:3,d:4
          })
        })
        //打debugger看到是先進入子組件created方法接收為opt默認值,才到這里走接口擴展opt對象
        }
    }
  }
</script>
回答
編輯回答
笨笨噠

如果想讓子組件在父組件有哪個數(shù)據(jù)的時候再渲染,可以在父組件上加一個判斷條件,例如<a-component :opt="opt" v-if="opt.c == 3"></a-component>。但是即使是子組件先渲染出來了,但當axios請求結束后,即opt的數(shù)據(jù)改變后,也會自動傳遞給子組件,從而更改子組件的狀態(tài)。所以感覺非要等到數(shù)據(jù)extend后再渲染子組件沒有什么太大的必要。

2017年4月21日 19:22