vue路由—实现经典布局(同一个路由,对应多个组件)

要点:

1.router-view头部,侧边栏,主体内容区域三个区域,每个有一个占位符。

2.占位符定义一个name属性,跟components的第一个属性对应,这里component使用复数,同一个路由下匹配多个组件。

HTML代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="../lib/vue.js"></script>
    <script src="../lib/vue-router.js"></script>
    
    <style>
        .header{
            margin-top: 25px;
            background-color: gray;
            height: 125px;
        }
        .container{
            display:flex;
            /*flex左右布局,一共十份,bootstrap的栅格12份*/
            height: 575px;
        }
        .left{
            background-color: gainsboro;
            flex: 2.5;
        }
        .main{
            background-color: honeydew;
            flex: 7.5;
        }
        
        h1{
            padding: 0px;
            margin: 0px;
        }
    </style>
</head>
<body>
      <div id="app">
          
          <router-view></router-view>
          
          <div class="container">
              <router-view name="left"></router-view>
              <router-view name="main"></router-view>
          </div>
          <!--头部,侧边栏,主体内容区域三个区域,每个有一个占位符-->
          <!--name是为了将components中的多个组件一一对应起来-->
          
      </div>

      <script>
          
          var header = {
              template: '<h1 class="header">head头部区域</h1>'
          };
          
          var leftNav = {
              template: '<h1 class="left">left侧边栏</h1>'  
          };
          
          var mainContent = {
              template: '<h1 class="main">main主体内容</h1>'
          };
          
          var router = new VueRouter({
             routes:[
                 {path:'/', components:{
                     default:header,
                     'left':leftNav,
                     'main':mainContent
                 }}
                 //这里使用复数components,第一个属性与router-view中的name对应,第二个是表示要展示的组件名字    
             ] 
          });
          
          
          
          var vm = new Vue({
             el:'#app',
             router
          });
      </script>
</body>
</html>

效果:

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue的嵌套由与布局是指在Vue项目中使用嵌套由来实现页面布局的一种方式。通过嵌套由,我们可以将一个页面拆分为多个子页面,每个子页面都有自己的由配置和布局。这样可以更方便地管理页面的结构与样式。 在Vue中使用嵌套由需要先定义一个父由,并在其下定义多个子由。在父由页面的template中使用<router-view>标签来渲染当前子由页面的内容。这样当我们在浏览器中访问某个子径时,Vue会根据该径找到对应组件并渲染在<router-view>标签中。 嵌套由的好处是可以实现页面模块化开发,不同的子页面可以由不同的团队成员负责开发和维护,降低了耦合性,提高了开发效率。另外,嵌套由还可以实现不同布局的切换。即,我们可以根据不同的子由来切换不同的布局,如头部导航栏、底部标签栏等。 实际应用中,我们可以通过嵌套由来实现类似于后台管理系统的页面布局。将整个页面划分为侧边栏、顶部导航栏和主内容区等多个模块组成的布局。每个模块可以通过嵌套由来管理子页面内容,比如侧边栏可以包含多个菜单项,每个菜单项对应一个子页面。这样可以方便地进行页面导航和切换。 总体来说,Vue的嵌套由与布局是一种灵活、高效的页面管理和布局方式,可以帮助我们组织和维护复杂的页面结构,提高开发效率。同时,它也是Vue框架强大的由功能的一部分,为我们开发更加复杂和丰富的前端应用提供了更多的可能性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值