Vue子路由

目录结构:

 

演示效果:

HTML代码:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title></title>

</head>
<body>
<div id="app">
    <div>
        <!-- 静态路由 -->
        <router-link to="/">首页</router-link>
        <router-link to="/about">关于我们</router-link>
        <!-- 动态路由 -->
        <router-link to="/user/apollo">Apollo</router-link>
        <router-link to="/user/jack">Jack</router-link>
    </div>
    <div>
        <!-- 路由视图 -->
        <router-view></router-view>
    </div>
</div>
    <!-- 注意js导入顺序,自己定义的要在下面 -->
    <script src="../js/vue.js"></script>
    <script src="../js/vue-router.js"></script>
    <script src="app.js"></script>
</body>
</html>

 

JAVASCRIPT代码:

 

var routes = [
    // 静态路由
    {
        path: '/',
        component: {
            template: `
            <div>
                <h1>首页</h1>
            </div>
            `,
        },
    },
    // 静态路由
    {
        path: '/about',
        component: {
            template: `
            <div>
                <h1>关于我们</h1>
            </div>
            `,
        },
    },
    // 动态路由
    {
        // 注意是斜杠'/'后面在冒号
        path: '/user/:name',
        component: {
            template: `
            <div>
                <!-- 第一种方式:params,动态传参 -->
                <h1>用户中心:{{ $route.params.name }}</h1>
                <!-- 第一种写法:v-bind绑定, to前面 [需要] 加冒号':' -->
                <!--<router-link :to=" '/user/'+$route.params.name+'/more' ">更多信息</router-link>-->
                <!-- 第二种写法:append追加, to前面 [不要] 加冒号':' -->
                <router-link to="more" append>更多信息</router-link>
                <router-view></router-view>
            </div>
            `,
        },
        children: [
            {
                path: 'more',
                component: {
                    template: `
                        <div>
                            <h3>用户中心:{{ $route.params.name }}</h3>
                            更多内容请点击下方按钮阅读......<br>
                            更多内容请点击下方按钮阅读......<br>
                            更多内容请点击下方按钮阅读......<br>
                            更多内容请点击下方按钮阅读......
                        </div>
                    `
                }
            }
        ]
    }
];

// 路由构造
var router = new VueRouter({
    routes: routes,
});

// 实例
new Vue({
    el: '#app',
    router: router,
});

 

转载于:https://www.cnblogs.com/apollo1616/articles/10048342.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue.js 支持通过嵌套路由来实现复杂的页面结构和导航。路由是指在父路由下的一组路由,可以在父路由对应的组件中使用 `<router-view>` 标签来显示路由对应的组件。 在 Vue.js 中配置路由非常简单,只需要在父路由对象中定义一个 children 数组,该数组中包含多个路由对象,每个路由对象都需要定义 path、name、component 等属性,例如: ``` const routes = [ { path: '/parent', component: Parent, children: [ { path: 'child1', name: 'Child1', component: Child1 }, { path: 'child2', name: 'Child2', component: Child2 } ] } ] ``` 在上面的代码中,我们定义了一个名为 `Parent` 的父组件,它包含了两个路由 `Child1` 和 `Child2`,它们的路径分别为 `/parent/child1` 和 `/parent/child2`。当访问 `/parent/child1` 时,Vue.js 会先显示 `Parent` 组件,然后在 `Parent` 组件中的 `<router-view>` 标签中显示 `Child1` 组件。 需要注意的是,路由的路径不需要带上父路由的路径,它们的路径是相对于父路由的路径来定义的。在配置路由时,我们可以使用相对路径或绝对路径来定义路由的路径,例如: ``` const routes = [ { path: '/parent', component: Parent, children: [ { path: 'child1', name: 'Child1', component: Child1 }, { path: '/child2', name: 'Child2', component: Child2 } ] } ] ``` 在上面的代码中,`Child1` 的路径是相对于 `Parent` 的路径来定义的,而 `Child2` 的路径是绝对路径,它不受父路由路径的影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值