踩坑#1

记录一下今天遇到的坑

-------------子路由

  • 由于Vue是单页面加载模,所以当做的网站具有多个不同页面的时候,我会第一时间想到用子路由,这样做的好处是,由于大部分页面的头尾都是一样的,无需再引进来,直接在中间的内容区进行渲染。
  • 但是一定要在做之前考虑好,比如背景色,头和尾,哪些是不变的样式,哪些做成组件引入。因为的原因,今天踩到了很多坑。
  • 最后复制了一个首页出来,把内容挖掉,只留头和尾还有背景色。好在头和尾是做成了组件的形式引入的,所以不算麻烦。然后另一个首页把头和尾去掉,只留内容
  • 这里做个记录
<template>
  <!-- 由于做成了子路由,这个index做为了背景来使用,所以去掉了内容部分 -->
  <div class="index">
    <!-- 由于所有内容都是居中的,所以把颜色做成背景在index页 -->
    <div class="topBg">
      <!-- 为了解决背景色问题,颜色都放在index里了 -->
      <div class="navbarBg"></div>
      <Header></Header>
      <router-view></router-view>把渲染放在了这里,这样子路由的内容就会在头和尾不变的中间内容层进行更新渲染

      <bottom></bottom>
    </div>

  </div>
</template>
  • 配置完后,不要忘了把放了主页内容的子路由设置为默认显示的组件。
path: '/',
      name: 'Index',
      component: r => require.ensure([], () => r(require('@/index')), 'web_1'),
      redirect: '/index1',===  只要加上这句,rediect:后面的路径就是默认显示的子路由
      children: [
        {
          path: '/index1',
          // 真正的首页
          component: r =>
            require.ensure([], () => r(require('../index1.vue')), 'web_1')
        },
posted @ 2019-05-11 09:05  斯塔克林  阅读(116)  评论(0编辑  收藏  举报