Vue-路由4 单路由多组件

99封情书 提交于 2019-12-23 03:27:52

Vue-路由4 单路由多组件


一、说明

  • 在一个路由中存在多个组件时,可以通过router-view元素的name属性来指定要渲染的组件,若不指定则为默认组件
  • 在路由中通过components配置多个组件,每个组件都有一个对应的名称,默认组件名称用default标识

二、代码示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="../lib/vue.js"></script>
    <script src="../lib/vue-router.js"></script>
</head>
<body>
    <div id="app">
<!--        5.路由渲染-->
<!--        默认组件(登录组件)-->
        <router-view></router-view>
<!--        注册组件,通过name属性指定对应的组件名-->
        <router-view name="register"></router-view>
<!--        注销组件,通过name属性指定对应的组件名-->
        <router-view name="logout"></router-view>
    </div>

<!--    1.创建多个组件模板-->
    <template id="login">
        <h1>登录组件</h1>
    </template>
    <template id="register">
        <h1>注册组件</h1>
    </template>
    <template id="logout">
        <h1>注销组件</h1>
    </template>
<script>
    // 2.创建组件模板对象
    var login = {template: '#login'}
    var register = {template: '#register'}
    var logout = {template: '#logout'}

    // 3.创建路由实例
    var router = new VueRouter({
        routes: [
            {
                path: '/',
                components: { // 注意:这是一个对象,对象内容为组件模板对象
                    default: login,     //默认组件
                    register,   // 相当于 register: register
                    logout
                }
            }
        ]
    })
    var vm = new Vue({
        el: '#app',
        data: {},
        methods: {},
        router // 4.注册路由
    })
</script>
</body>
</html>

页面效果:
在这里插入图片描述


更新时间:2019-12-22
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!