02_07.动态切换组件

2017-11-12  本文已影响0人  Robyn_Luo
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        [v-cloak] {
            display: none;
        }
    </style>
</head>
<body>
    <div id="app">
        <!-- component是vue内置的标签, is属性用来控制要展示的组件 -->
        <component v-bind:is="showComponentName"></component>
        <button @click="changeComponent('app-login')">登陆</button>
        <button @click="changeComponent('app-register')">注册</button>
    </div>

    <script src="vue.js"></script>
    <script>
        // 登陆组件
        Vue.component('app-login', {
            template: `<h1>{{ title }}</h1>`,
            data: function() {
                return {
                    title: '登陆'
                };
            }
        });

        // 注册组件
        Vue.component('app-register', {
            template: `<h1>{{ title }}</h1>`,
            data: function() {
                return {
                    title: '注册'
                };
            }
        });

        var vm = new Vue({
            el: '#app',
            data: {
                showComponentName: 'app-login'
            },
            methods: {

                // 修改要展示的组件
                changeComponent(name) {
                    this.showComponentName = name;
                }
            }
        });
    </script>
</body>
</html>
上一篇 下一篇

猜你喜欢

热点阅读