元件中需要元件呼叫自身,這就是遞迴元件,遞迴元件需要宣告name和自己引入自己並宣告註冊為元件,並且需要使用props進行傳參,其還需要乙個停止條件,否則會進入死迴圈。
vue的遞迴元件和其v-for指令之間的關係和js中的for迴圈和遞迴函式一樣,乙個是有盡頭,乙個是不知道到底巢狀了多少層級。在vue中我們是資料驅動介面,根據資料來渲染介面,而很多資料我們是從後台獲取,事先並不知道它會巢狀多少層,這時候使用v-for指令就不能滿足我們的要求了,需要使用遞迴元件,這就和js中的遞迴函式乙個道理!
效果圖:
如圖所示,當使用者操作介面新增條件時,我們就需要在相應層級的新增一行,然而我們不知道使用者具體會新增多少層條件,這時候使用v-for指令來遍歷資料進行迴圈就不怎麼合適了,這時候就時遞迴元件大展身手的時候!
父元件**:
0}' v-for="(item,index) in filterdata" :key='index'>
子元件**:
1'>}}
請選擇字段
在子元件**中,我引入了他自身的路徑並註冊了元件,並且還宣告了name,這些是必須的操作!
然後在父元件中我呼叫了子元件,而在子元件中我又呼叫了子元件,注意這時在子元件中的呼叫需要和父元件保持同步,如果在父元件中的呼叫有進行父子元件的通訊,在子元件的呼叫中也必須有這些!如我在父元件中使用了(@change='change' :item='item' :filterdata='filterdata')這些**,我在子元件的呼叫中也進行了這些操作,這也是遞迴元件的關鍵之處,就如js中函式遞迴的傳參一樣
資料格式:
filterdata: [,,
,]},]
},,,]
},]},,
,]}]
}],
Vue中元件的遞迴
先來說下需求,就是乙個表單,會有樹形結構一樣,會有子表單,表單顯示什麼內容是後台通過介面資料來確定的 這個時候就和樹形結構一樣,肯定會有子元件的遞迴 這次是自己第一次寫遞迴,遇到了三個問題記錄下 1 第乙個問題就是,迴圈表單 看下圖 然後這裡的資料返回的是這樣的 說明下資料字段的含義 name屬性算...
vue筆記 遞迴元件的使用
元件自身去呼叫元件自身。template div div class item v for item,index of list key index div class item title border bottom span class item title icon span div div ...
Vue遞迴元件
遞迴元件 在父元件內巢狀子元件,子元件無限迴圈使用自己,用於樹狀結構的巢狀 1 分為子元件son和父元件father 這裡的話我寫的是頂級只能有乙個根元素 father.vue檔案 第一層級 li list ul template export default script son.vue檔案 so...