我已经阅读了VueJS教程,但我仍然无法找到解决方案。
我有一个列表列表,我想用手风琴显示它们(这是vue-strap中的一个组件,经过多次测试才能正常工作)。
所以有一个列表如:
'myList': [
['el 1', 'el 2', 'el 3'], ['el 1', 'el 2'], ['el another']
]
我希望以下可视化:
清单1:
清单2:
清单3:
但是VueJS没有渲染这个组件......!
代码如下:
<template>
<accordion id="rabo" :one-at-atime="true">
<template v-for="list in myLists">
<panel header="List #{{ $index }}" :is-open="true">
<ul>
<li v-for="el in list">
{{el}}
</li>
</ul>
</panel>
</template>
</accordion>
</template>
<style lang="scss" scoped>
</style>
<script>
import Vue from 'vue'
import { accordion, panel } from 'vue-strap'
module.exports = {
components: {
'accordion': accordion,
'panel': panel
}
}
new Vue({
el: '#rabo',
data: {
'myLists': [['el 1', 'el 2', 'el 3'],['el 1','el 2'],['el another']]
}
})
</script>
答案 0 :(得分:2)
你应该:
myLists
数组放入组件的data
header
prop <强> MyAccordion.vue 强>
<template>
<accordion :one-at-atime="true">
<template v-for="list in myLists">
<panel :header="`List #${$index}`" :is-open="true">
<ul>
<li v-for="el in list">
{{el}}
</li>
</ul>
</panel>
</template>
</accordion>
</template>
<script>
import { accordion, panel } from 'vue-strap'
export default {
components: {
accordion, panel
},
data () {
return {
myLists: [
['el 1', 'el 2', 'el 3'],
['el 1', 'el 2'],
['el another']
]
}
}
}
</script>
Vue实例
import Vue from 'vue'
import MyAccordion from './MyAccordion.vue'
new Vue({
el: '#demo',
components: { MyAccordion }
})