vuejsコンポーネント内のサブコンポーネントにxテンプレートを使用するための使用パターンを正しく理解していません。VueJS:コンポーネント内のサブコンポーネントにxテンプレートを使用する
私はテンプレートを持つCategoryNav.vueというコンポーネントを持っています。その中にリストを表示するために、xテンプレートを使用しました。しかし私は自分のページをレンダリングしますが、xテンプレートを使って作成されたこのコンポーネントは認識しません。私はそれを間違って使っていると思う。どんな助けもありがとうございます。ここに私の主要なコンポーネントのコードです。
CategoryNav.vue
<template>
<div class="">
<menu-list :items="treeList"></menu-list>
</div>
</template>
<script type="text/x-template" id="menu-list-template">
<ul v-if="items.length">
<li v-for="item of items">
<a :href="item.value">{{ item.label }}{{ item.id }}</a>
<menu-list :items="item.children"></menu-list>
</li>
</ul>
</script>
<script>
const MenuList = {
name: 'menu-list',
template: '#menu-list-template',
props: ['items']
}
export default {
name: 'category-nav',
components: {
MenuList
},
computed: {
list() {
return this.$store.state.topics
},
treeList() {
const items = this.list.map(item => Object.assign({}, item, { children: [] }))
const byValue = new Map(items.map(item => [item.value, item]))
const topLevel = []
for (const item of items) {
const parent = byValue.get(item.parent)
if (parent) {
parent.children.push(item)
} else {
topLevel.push(item)
}
}
return topLevel
}
}
}
</script>
私は、独自の別のファイルにサブ成分を抽出するために、つまり、最初のアプローチを使用正しく動作しています。もう一度ありがとう! – asanas