在Vue2.X的项目中,如何动态设置标签顺序?

<template>
    <div>
        <!-- ??? -->
    <div>
</template>
<script>
    import TemplateA form 'A.vue'
    import TemplateB form 'B.vue'
    import TemplateC form 'C.vue'
    ···
    export default {
            data() {
                return {
                    list: [c, b, c]
                }
            },
        }
    }
</script>

需要将A/B/C个模块挂载在 div 标签上,顺序由list 决定。
我需要怎么做?
我能想到的只有css的绝对定位, 但是只是在视觉上的,实际上没改变标签的顺序。如果不用这个方法的话,能有更好的解决方法吗?
谢谢。

阅读 3.4k
2 个回答
<template>
    <div v-for="(result, index) in dom">
        <div :is="result"></div>
    <div>
</template>
<script>
    import TemplateA form 'A.vue'
    import TemplateB form 'B.vue'
    import TemplateC form 'C.vue'
    ···
    export default {
            data() {
                return {
                    dom:[],
                    list: ["c", "b", "c"]
                }
            },
            mounted(){
                for (let i == 0; i < list.length; i++){
                    if (list[i] == 'a') {
                    this.dom.push(TemplateA)
                    } else if (list[i] == 'b') {
                    this.dom.push(TemplateB)
                    } else if (list[i] == 'c') {
                    this.dom.push(TemplateC)
                    }
                }
            
            }
        }
    }
</script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题