vue的内置组件

动态组件:Vue实现视图切换
本文介绍了如何使用Vue.js动态组件功能,通过'is'属性在Home和About组件间切换视图,展示了如何在HTML、CSS和JavaScript中配合使用来创建可切换的页面布局。

@[TOC] 动态组件

在一些场景,往往需要我们动态切换页面部分区域的试图,这个时候内置组件***component***t就表现得很为重要了
component接收一个名为is的属性,is的值应为在父组件中注册过的组件的名称:如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>动态组件</title>
    <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
    
    <style>
        .tabs{
            margin: 0;
            padding: 0;
            list-style: none;
        }
        .per-tab{
            display: inline-block;
            width: 120px;
            line-height: 32px;
            border-left: 1px solid #ccc;
            border-top: 1px solid #cccccc;
        }
        <!--最后的边框-->
        .per-tab:last-child{
            border-right: 1px solid #cccccc;
        }
       
        .tab-content{
            height: 240px;
            border: 1px solid #cccccc;
        }
    </style>
</head>
<body>
    <div id="app">
        <ul class="tabs">
            <li class="per-tab" @click="toggleView('home')">Home</li>
            <li class="per-tab" @click="toggleView('About')">About</li>
        </ul>
        <div class="tab-content">
            <component :is="view"></component><!--view为变量-->
        </div>
    </div>
</body>
<script type="text/javascript">
    let Home = {//Home组件
        template:'<p style="color: #787878;">Hello Home!</p>'
    }
    let About={//About组件
        template: '<p>Hello About!</p>'
    }
    let vm = new Vue({
        el:'#app',
        components:{Home,About},
        data(){
            return{
                view:'Home'
            }
        },
        methods:{
            toggleView(view) {
                this.view = view
            }
        }
    })

</script>
</html>

效果图如下:
在这里插入图片描述在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值