色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue 遞歸獲取上級

方一強2年前8瀏覽0評論

本文將介紹如何在Vue中遞歸獲取上級的文章。

首先,對于Vue的遞歸組件而言,它會在組件內部通過模板進行遞歸操作,這樣我們就可以獲取到組件內部的所有數據和屬性,并根據當前組件的狀態來進行遞歸。

接下來,我們需要在Vue中創建一個遞歸組件,可以通過“name”屬性來定義一個組件的名字,在組件的模板中,我們可以使用Vue的“slot”插槽來動態渲染組件的內容,讓我們能夠在遞歸組件中動態地獲取上級的文章內容。

Vue.component('tree-item', {
template: '#item-template',
name: 'tree-item',
props: {
model: Object
},
data: function () {
return {
children: []
}
},
computed: {
isLeaf: function () {
return !this.model.children || this.model.children.length === 0
}
},
created: function () {
this.fetchChildren()
},
methods: {
fetchChildren: function () {
this.children = []
var self = this
console.log(self)
if (this.model.children) {
this.model.children.forEach(function (child) {
self.children.push({
name: child.name,
id: child.id
})
})
}
},
open: function () {
if (this.isLeaf) return
this.fetchChildren()
}
}
})

在上述代碼中,我們定義了一個名為“tree-item”的組件,并使用了模板“#item-template”來進行遞歸操作,在組件的props中定義了一個名為“model”的對象,表示當前組件的模型,同時在data中定義了一個名為“children”的數組,表示當前組件的子組件。

在computed屬性中,我們通過判斷當前組件的模型“model”是否存在子組件,來判斷當前組件是否是葉子節點,如果是,則返回true,否則返回false。

在created生命周期鉤子函數中,我們調用了“fetchChildren”方法,來獲取當前組件的子組件,并將它們添加到“children”屬性中。

在methods屬性中,我們定義了兩個方法,“open”方法用于展開當前組件的子組件,但需要判斷當前組件是否為葉子節點,“fetchChildren”方法用于獲取當前組件的子組件,并將它們添加到“children”屬性中,該方法會在組件的created生命周期函數中被調用。

最后,我們需要在模板中使用Vue的插槽來渲染組件內容,如下所示:

在上述模板中,我們使用了Vue的“v-if”指令來判斷當前組件是否為葉子節點,如果不是,則使用“v-for”指令循環遍歷當前組件的子組件,并將它們遞歸渲染出來?!癅click.stop”事件用于防止事件冒泡。

通過上述代碼,我們就可以在Vue中遞歸獲取上級的文章內容了。