Vue父元件傳遞非同步獲取的資料給子元件

2022-07-16 05:27:13 字數 1094 閱讀 9237

當父元件傳給子元件的資料是在父元件中非同步獲取的時候,如何讓子元件獲取期望的值?

在父元件中:

首先在data()中定義data_detail為空:

data()      

}

然後將data_detail傳遞給子元件

data_item是在父元件中非同步請求的資料:

searchdatadetail()

param.data_id = self.search_history[0].data_id

param.data_type = self.search_history[0].data_type

param.search_name = self.search_history[0].search_name

self.api.searchdatadetail(param).then(

function

(res)

else

})},

在子元件中:

通過props接收父元件傳遞過來的值:

props: ['data_item']

當父元件的非同步請求為loading狀態的時候,data_item的值為空,此時子元件獲取的也是空值,有時候需要用到data_item傳遞過來的值作為引數,這時就會獲取不到data_item.enterprise_name這個引數

mounted()

checkdataexist()

axios.post('/data/checkdataexists', param).then((res) =>

else

})

}

1.在父元件中加上v-if屬性:

if='data_detail.enterprsie_name' :data_item='data_detail'>

2.在子元件中用watch監聽資料變化後再呼叫函式

watch: )

}},

如果上面兩種方式都不能解決問題的話,那就用vuex來管理。

vue子元件向父元件傳遞資料

vue專案中經常使用到元件之間的數值傳遞,實現的方法很多,但是原理基本上大同小異。子元件向父元件出傳遞資料,使用自定義事件的方式。父元件向子元件傳遞資料,使用props屬性的方式。推薦文章 vue筆記 父元件向子元件傳遞資料 我們可以從子元件中想父元件中傳遞多個資料,在子元件中要做的工作只是,使用t...

Vue父元件獲取子元件資料

方法 一 從父元件呼叫子元件方法獲取資料 1 子元件addindex.vue寫乙個方法,返回要用的資料 methods 2 在父組aindex.vue件中獲取值 import procedureedit from pages procedure add addindex methods 方法 二 子...

vue元件通訊 子元件傳遞資料給父元件

上次已經介紹了父元件如何傳遞資料給子元件,那麼,子元件又是如何將資料傳遞給父元件的呢?vue中,子元件用 emit 來觸發事件,父元件用 on 來監聽子元件,也可通過直接在子元件的自定義標籤上使用v on來監聽子元件觸發的自定義事件。下面通過乙個例子來講解 每次加2後的總數 這裡只講解加1的操作,在...