最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue使用provide各種傳值后inject獲取undefined的問(wèn)題及解決

 更新時(shí)間:2022年08月25日 09:13:13   作者:AzeShinja  
這篇文章主要介紹了Vue使用provide各種傳值后inject獲取undefined的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

使用provide各種傳值后inject獲取undefined

首先使用provide是為了方便孫子組件獲取爺爺組件的數(shù)據(jù)

就比如下方想使用provide把table的refs分派給每個(gè)孫子組件

但是provide是先于mounted執(zhí)行的,導(dǎo)致dom還沒(méi)有搭建完成就發(fā)送給了子組件,所以子組件inject后值為undefined

所以我想要不給一個(gè)響應(yīng)式數(shù)據(jù),這樣在爺爺組件中的mounted對(duì)其進(jìn)行賦值后孫子組件也能同步更新

這樣子組件就能正常獲取它的值了

不知道還有沒(méi)有更好的解決方法,如果有請(qǐng)?zhí)呶乙幌? o( ̄▽ ̄)ブ

不如直接讓爺爺組件傳this

但是傳遞this后為undefined怎么辦?

原來(lái)的寫(xiě)法:

  provide: {
    $examRouter: this,
  },

得改成函數(shù)的寫(xiě)法就好了:

  provide() {
    return {
      $examRouter: this,
    }
  },

inject接收不到provide中的值

一、question???

1. provide傳值

這個(gè) layoutModel 在data中默認(rèn)值是1,然后通過(guò)接口請(qǐng)求,改變它的值

2. inject接收值

此時(shí)父組件的值為3,但是inject接收到的值為1

二、Why

因?yàn)槭墙涌谡?qǐng)求更新數(shù)據(jù),但provide在初始的時(shí)候就傳了一個(gè)固定的初始值下去,所以下級(jí)組件接收到的是初始值,而不是更新后的值

三、Answer

在data定義的時(shí)候采用對(duì)象的形式,這樣就是傳一個(gè)地址過(guò)去 而不是一個(gè)固定的值

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

阜平县| 阿瓦提县| 东海县| 牟定县| 寿阳县| 汉阴县| 昌邑市| 辽中县| 襄垣县| 隆安县| 凤山市| 望奎县| 色达县| 江西省| 鹤壁市| 鹰潭市| 大英县| 田林县| 西林县| 青浦区| 桦甸市| 渝中区| 武冈市| 新密市| 承德县| 靖远县| 南京市| 泰和县| 阿合奇县| 垣曲县| 顺平县| 和平区| 德令哈市| 建阳市| 达日县| 长岛县| 社会| 商都县| 易门县| 龙江县| 达州市|