zoukankan      html  css  js  c++  java
  • vue-路由嵌套

      路由嵌套说白点,就相当于父子路由,但一定要记得一点的是:父子路由是独立的,对应的有父子路由关系,那父子路由也会产生父子组件;父子组件也是独立的;

      话不多说,还是上代码吧:

    const routes = [
      {
        path: '/',
        name: 'portal',
        redirect: '/home'
      },
      {
        path: '/user', //父路由,再次强调,父子路由都是独立的个体
        name: 'User',
        component: User,
        children: [ //子路由
          {
            path: '', // 如果要默认一个子路由,这里别写 '/'
            redirect: '/user/c1'
          },
          {
            path: 'c1', //这里不能写 /c1 ,这种写法是错误的
            component: UserChild1
          },
          {
            path: 'c2',
            component: UserChild2
          }
        ]
      }
    ]

      没错,父子路由的嵌套关系弄好了,但是如果是这样的,子路由是不会显示出来的;这么说把,<router-view>标签在一个vue组件只能用一次,也就是只能展示一个动态的组件,目前只能展示父路由对应的组件,子路由对应的组件是展示不出来的,如果也想子路由对应的组件展示出来。

      那就必须到父路由对应的组件中 设置 router-view 来动态展示子组件,如下:

      App.vue:

    <template>
      <div id="nav">
        <router-link to="/home">Home</router-link> |
        <router-link to="/about">About</router-link> |
        <router-link :to="'/user'">User</router-link>
      </div>
      <router-view/>
    </template>

      User.vue:

    <template>
      <div>
        <h1>我是User</h1>
        <router-link to="/user/c1">大儿子</router-link>
        <router-link to="/user/c2">二儿子</router-link>
        <router-view></router-view>
      </div>
    </template>

      所以来个总结吧:现在有点理解vue组件数的概念了,一个组件嵌套多个组件,而子组件中可以嵌套多个动态组件,就如下的图:

      固定组件,可以层层嵌套;

      动态组件,也可以层层嵌套;

  • 相关阅读:
    原生js,实现跨越的jsonp
    nodejs+express+jade安装步骤
    浏览器端创建可下载文件
    保留有效数字
    日期转换格式
    js添加千分位
    vue 中的 全选和 反选
    防止域名被恶意解析
    node命令行工具之实现项目工程自动初始化的标准流程
    React router动态加载组件-适配器模式的应用
  • 原文地址:https://www.cnblogs.com/ibcdwx/p/14605931.html
Copyright © 2011-2022 走看看