How does vue insert components in v-for?

<template>
    <div>
        <ul>
            <template v-for="item in items">
                <li v-if="item.flag">
                    <!-- []DemoModel -->
                    <component :is="item.model"></component>
                </li>
                <li v-else >{{ item.text }}</li>
            </template>
        </ul>
    </div>
</template>

<script>
// DemoModel  1-n
import DemoModel1 from "./demo-model1";
// ...
import DemoModelN from "./demo-modeln";

export default {
    data() {
        return {
            items:[
                {
                    text: "item 1",
                    flag: false
                },
                // ...
                {
                    text: "item n",  //  n > 100html
                    flag: false
                },
                {
                    text: "model 1",
                    flag: true,
                    model: DemoModel1
                },
                // ...
                {
                    text: "model n",
                    flag: true,
                    model: DemoModelN
                },
            ]
        }
    },
    components: {
        DemoModel1, 
        //...
        DemoModelN
    }
}
</script>

now I need to create components dynamically. The above code is a simplified version. How can I implement it?

Apr.02,2021

component is learn about dynamic components:
ide/components.html-sharp%E5%8A%A8%E6%80%81%E7%BB%84%E4%BB%B6" rel=" nofollow noreferrer "> https://cn.vuejs.org/v2/guide.


< li VMI if = "item.flag" >

 <DemoModel+index+1></DemoModel+index+1>

MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1b3c1b4-4d986.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1b3c1b4-4d986.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?