美文网首页
vue 动态加载tab选项卡组件

vue 动态加载tab选项卡组件

作者: Mr无愧于心 | 来源:发表于2018-10-11 14:35 被阅读0次
    • 动态组件进行切换时,会将上一个组件进行销毁,然后再挂载最新的组件;
    • keep-alive: 保存了组件第一次生成时的状态;以后需要该组件,直接读取缓存中的组件就可以;不再执行挂载,销毁;从而提高了浏览器的性能;
    • 在使用component这个自定义组件时,需要配合:is这个属性,动态绑定一个组件的名称;
    • is后面的属性值是哪个组件的名称,显示哪个组件;不可以同时显示两个

    • html
    <div id="ap">
        vue 动态加载tab选项卡组件
        <div class="sel">
            <!--<button class="c1" @click="fn(1)" :class="{current:flag==1}">选项1</button>
            <button class="c2" @click="fn(2)" :class="{current:flag==2}">选项2</button>
            <button class="c3" @click="fn(3)" :class="{current:flag==3}">选项3</button>-->
            <button v-for="(item,index) in arr" @click="fn(index)" :class="{current:flag==index}">{{item.title}}</button>
        </div>
        <keep-alive>
            <component :is="name"></component>
        </keep-alive>
    </div>
    <template id="div1"><div class="sel1">aaa</div></template>
    <template id="div2"><div class="sel2">bbb</div></template>
    <template id="div3"><div class="sel3">ccc</div></template>
    
    • javascript
    let myC1={
            data(){
                return {};
            },
            methods:{
    
            },
            template:'#div1',
        };
        let myC2={
            data(){
                return {};
            },
            template:'#div2',
        };
        let myC3={
            data(){
                return {};
            },
            template:'#div3',
        };
        let ap=new Vue({
            el:'#ap',
            data:{
                name:'myC1',
                flag:0,
                arr:[{title:"选项1"},{title:"选项2"},{title:"选项3"},]
            },
            methods:{
                fn(data){
                    this.flag=data;
                    //this.name='myC'+data;
                    this.name='myC'+(data+1);
                }
            },
            components:{
                myC1,myC2,myC3
            }
        })
    

    相关文章

      网友评论

          本文标题:vue 动态加载tab选项卡组件

          本文链接:https://www.haomeiwen.com/subject/vnsbaftx.html