Vue高階用法 provide inject

2022-09-21 15:12:10 字數 856 閱讀 1313

今天寫專案的時候,需要把父元件的值傳給子和孫子,傳統的props只能父傳子,看了一下vuejs的官方文件,有個provide / inject。

這對選項需要一起使用,以允許乙個祖先元件向其所有子孫後代注入乙個依賴,不論元件層次有多深,並在其上下游關係成立的時間裡始終生效。如果你熟悉 react,這與 react 的上下文特性很相似。

父元件

點選增加

子元件

我是子元件:}

孫子元件

我是孫子元件:}

注意:要傳遞物件,否則無法改變值

父元件 class="part1"

ref="gatewwaytablecard"

@handleopeneditgatewaydrawer="handleopeneditgatewaydrawer"

@gatewaytablerowclick="handlegatewaytablerowclick"

/>

class="part3"

@devicegatewayrows="handlegatewayrows"

export default ,

//依賴注入傳值

provide()

},data() ,}},

methods:

this.selectedgatewayid = item.id;

this.$refs.monitoringcentercard.apigetdeviceproviewlist(item.id);

},}}

子元件}

vue高階用法

1.mixin 1.全域性混合 2.全域性api 1.vue.extend 擴充套件例項構造器 2.vue.nexttick dom結構改變後執行 3.vue.directive 指令 4.vue.filter 過濾器 5.vue.component 註冊元件 3.watch 深度watch 4.v...

Vue中watch高階用法

很多時候,我們監聽乙個屬性,不會使用到改變前後的值,只是為了執行一些方法,這時可以使用字串代替 data watch methods 總所周知,watch是在監聽屬性改變時才會觸發,有些時候,我們希望在元件建立後watch能夠立即執行一次。可能想到的的方法就是在create生命週期中呼叫一次,但這樣...

vue父子元件通訊高階用法

class parent 我是父元件 children div template import children from children.vue export default methods 引入子元件 components script 我是子元件 父元件對我說 div div div tem...