vue再读84-vue-router嵌套路由

简介: vue再读84-vue-router嵌套路由
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<!-- 1引入插件的js -->
<!-- 2设置链接 -->
<!-- 3设立容器部分 -->
<!-- 4提供要渲染的组件 -->
<!-- 5配置路由 -->
<!-- 6挂载路由 -->
<style>
    li {
        list-style: none;
    }
    a {
        text-decoration: none;
    }
    .container {
        height: 100px;
        border: 1px solid #ccc;
    }
</style>
<body>
    <div id="app">
        <ul>
            <router-link to="/home" tag="li"><a>首页</a></router-link>
            <router-link to="/top" tag="li"><a>热点</a></router-link>
            <router-link to="/music" tag="li"><a>音乐</a></router-link>
        </ul>
        <router-view class="container"></router-view>
    </div>
    <router-view></router-view>
    </div>
    <script src="./js/vue.js"></script>
    <script src="./js/vuerouter.js"></script>
    <script>
        //获取不同的值
        //hash变化的时候触发该事件
        /*    var div = document.getElementById('container');
           window.onhashchange = function() {
               console.log("-----");
               var hash = location.hash;
               console.log(hash);
               hash = hash.replace("#", '');
               switch (hash) {
                   case '/aaa':
                       div.innerHTML = "AAA";
                       break;
               }
           } */
        //提供渲染组件
        var home = {
            template: `<div>home</div>`
        }
        var Top = {
            template: `<div>top</div>`
        }
        var music = {
            template: `<div>
                <router-link to="/music/pop" tag="li"><a>流行</a></router-link>
            <router-link to="/music/rock" tag="li"><a>摇滚</a></router-link>
            <router-link to="/music/cal" tag="li"><a>古典</a></router-link>
            <router-view class="container-sub"></router-view>
            </div>`
        }
        var musicSub = {
                template: `<div>我是musicSub组件</div>`
            }
            //实例化路由
        var routes = [{
            name: 'home',
            path: '/home',
            component: home
        }, {
            name: 'top',
            path: '/top',
            component: Top
        }, {
            name: 'music',
            path: '/music',
            component: music,
            children: [{
                path: '/music/:id',
                component: musicSub
            }]
        }, ]
        var router = new VueRouter({
            routes
        })
        new Vue({
            el: '#app',
            //挂载使用对象
            router,
            data: {
            },
            methods: {
            }
        })
    </script>
</body>
</html>

image.png

相关文章
|
5月前
|
资源调度 JavaScript 前端开发
路由管理:Vue Router的使用和配置技巧
【10月更文挑战第21天】路由管理:Vue Router的使用和配置技巧
112 3
|
5月前
|
JavaScript API
vue 批量自动引入并注册组件或路由等等
【10月更文挑战第12天】 vue 批量自动引入并注册组件或路由等等
|
5月前
|
JavaScript 前端开发 API
vue3中常用插件的使用方法:按需引入自定义组件,自动导入依赖包,自动生成路由,自动生成模拟数据
vue3中常用插件的使用方法:按需引入自定义组件,自动导入依赖包,自动生成路由,自动生成模拟数据
1281 0
|
5月前
|
JavaScript 前端开发 UED
vue中vue-router路由懒加载(按需加载)的作用以及常见的实现方法
vue中vue-router路由懒加载(按需加载)的作用以及常见的实现方法
337 1
|
5月前
|
JavaScript UED
Vue + ElementUI 实现动态添加和删除表单项的多层嵌套表单
【10月更文挑战第5天】本示例展示了如何在 Vue.js 中使用 Element UI 组件实现动态添加和删除嵌套表单项。该表单包含设备信息、设备部位及其对应的任务列表,支持用户动态添加设备部位和任务,并提供相应的表单验证规则。
529 0
Vue + ElementUI 实现动态添加和删除表单项的多层嵌套表单
|
4月前
|
JavaScript UED
"Vue实战技巧大揭秘:一招解决路由跳转页面不回顶部难题,让你的单页面应用用户体验飙升!"
【10月更文挑战第23天】在Vue单页面应用中,点击路由跳转时,默认情况下页面不会自动滚动到顶部,这可能影响用户体验。本文通过一个新闻网站的案例,介绍了如何使用Vue-router的全局前置守卫和`scrollBehavior`方法,实现路由跳转时页面自动滚动到顶部的功能,提升用户浏览体验。
201 0
|
5月前
|
JavaScript API
Vue中使用require.context()自动引入组件和自动生成路由的方法介绍
Vue中使用require.context()自动引入组件和自动生成路由的方法介绍
184 0
|
10月前
|
JavaScript API
【vue实战项目】通用管理系统:api封装、404页
【vue实战项目】通用管理系统:api封装、404页
102 3
|
10月前
|
人工智能 JavaScript 前端开发
毕设项目-基于Springboot和Vue实现蛋糕商城系统(三)
毕设项目-基于Springboot和Vue实现蛋糕商城系统
115 0
|
10月前
|
JavaScript Java 关系型数据库
毕设项目-基于Springboot和Vue实现蛋糕商城系统(一)
毕设项目-基于Springboot和Vue实现蛋糕商城系统
257 0