首页 > 其他 > 详细

460 动态组件

时间:2020-05-04 11:02:01      阅读:57      评论:0      收藏:0      [点我收藏+]
<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title></title>
    <script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
</head>

<body>
    <div id="app">
        <button @click="chooseContent(1)">首页</button>
        <button @click="chooseContent(2)">列表</button>
        <button @click="chooseContent(3)">新闻</button>
        <button @click="chooseContent(4)">个人</button>

        <div id="content">
            <!-- 组件会在 `com` 改变时改变 -->
            <component :is="com"></component>
        </div>
    </div>

    <script type="text/x-template" id="laochen">
        <div>
            <h1>首页内容</h1>
            <p>Hello hello hello vue</p>
        </div>
    </script>

    <script type="text/javascript">
        let com1 = Vue.component("index-com", {
            name: ‘index‘,
            template: ‘#laochen‘
        })

        let com2 = Vue.component("list-com", {
            template: ‘<div><h1>列表内容</h1><p></p></div>‘
        })

        let com3 = Vue.component("news-com", {
            template: ‘<h1>新闻内容</h1>‘
        })
        
        let com4 = Vue.component("me-com", {
            template: ‘<h1>个人中心内容</h1>‘
        })

        let app = new Vue({
            el: "#app",
            data: {
                com: com1
            },
            methods: {
                chooseContent: function (id) {
                    console.log(id)
                    console.log(this)
                    //通过获取id,选择注册好的组件
                    this.com = this.$options.components[‘com‘ + id]
                }
            },
            components: {
                com1, com2, com3, com4
            }
        })
    </script>
</body>

</html>

460 动态组件

原文:https://www.cnblogs.com/jianjie/p/12825241.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!