vue 动态插入子路由

动态路由
动态注册路由(动态在new router中注册路由)
动态向router数组中添加路由。

 let comment = [{path: '../../view/index/index.vue'}];
this.$router.options.routes[1].push({
 path: '/' + __menu.name,
name: __menu.name,
 name: __menu.name,
 component: resolve => require([comment[0].path], resolve)
 })
 this.$router.addRoutes(vm.$router.options.routes);//调用addRoutes添加路由



总结
通过this.$router.options.router[1]可以找到自己定义的router,然后按照规则进行添加就可以,最后不要忘记使用**addRoutes()**将相关的路由进行添加,这样才可以正确的天机路由,尤其是不要将方法名写错。
###路由嵌套
使用children进行路由的嵌套,相当于父子路由的嵌套。

const router = new VueRouter({
        routes: [
            {
                name: 'login',
                path: '/login',
                component: login
            },
            {
                name: 'main',
                path: '/main',
                redirect: '/icustomer',
                component: main,
                children: [
                    {
                        path: '/icustomer',
                        name: 'customer',
                        component: resolve => require(['../view/index/icustomer.vue'], resolve)
                    }
          ]} 
       ]


--------------------- 
作者:sunqy1995 
来源:CSDN 
原文:https://blog.csdn.net/sunqy1995/article/details/81252889 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Vue3中,使用由需要在父组件中添加一个`<router-view>`标签,并将组件的由配置添加到父组件的由配置中。 以下是一个示例代码: ```javascript import { createRouter, createWebHistory } from 'vue-router' import ParentComponent from './components/ParentComponent.vue' import ChildComponent from './components/ChildComponent.vue' const routes = [ { path: '/parent', name: 'ParentComponent', component: ParentComponent, children: [ { path: 'child', name: 'ChildComponent', component: ChildComponent } ] } ] const router = createRouter({ history: createWebHistory(), routes }) export default router ``` 在上面的代码中,我们首先导入了`createRouter`和`createWebHistory`函数。然后,我们定义了两个组件`ParentComponent`和`ChildComponent`。接下来,我们定义了一个由数组`routes`,其中包含一个名为`ParentComponent`的父由和一个名为`ChildComponent`的由。由通过在`children`数组中添加一个对象来定义。 最后,我们创建了一个`router`实例,并将其导出。我们可以将此由实例用作Vue应用程序的由器。在父组件中,我们可以使用`<router-link>`标签来链接到组件的由。 示例父组件`ParentComponent`的代码: ```html <template> <div> <h2>Parent Component</h2> <router-link to="/parent/child">Go to Child Component</router-link> <router-view></router-view> </div> </template> ``` 在上面的代码中,我们使用`<router-link>`标签将用户导航到组件的由。我们还添加了一个`<router-view>`标签,它将根据当前的由渲染组件。 ### 回答2: 在Vue3中,由的使用方法如下: 首先,我们需要在创建Vue应用程序的地方,使用`createRouter`函数创建一个由实例。在创建由实例时,我们可以配置由的根径、由等相关信息。 ```javascript import { createRouter, createWebHistory } from 'vue-router' const router = createRouter({ history: createWebHistory(), routes: [ { path: '/', component: Home, children: [ { path: 'page1', component: Page1 }, { path: 'page2', component: Page2 } ] } ] }) ``` 以上示例中,我们配置了一个由根径为`'/'`,并定义了两个由`'page1'`和`'page2'`。当用户进入`'/'`径时,会渲染`Home`组件,并根据当前径(即径)加载相应的组件`Page1`和`Page2`。 在使用由的组件中,我们需要使用`<router-view>`标签来渲染由对应的组件。在父组件的模板中插入`<router-view></router-view>`标签后,Vue会自动根据当前径渲染匹配的组件。 ```javascript // Home.vue <template> <div> <h1>Home</h1> <router-view></router-view> </div> </template> ``` 注意,在Vue3中,我们需要使用`<router-view></router-view>`标签来渲染由,而不是Vue2中的`<router-view/>`。 要使用由,我们还需要在父组件中定义一个由出口,用于渲染组件。 ```javascript // Page1.vue <template> <div> <h2>Page 1</h2> <!-- 组件内容 --> </div> </template> ``` 这样,当用户访问`'/'`径时,会渲染`Home`组件,并在`<router-view></router-view>`标签中根据当前径加载相应的组件。当用户访问`'/page1'`径时,会渲染`Page1`组件,并将其显示在`<router-view></router-view>`标签中。 总结起来,Vue3中使用由的方法是: 1. 在由实例的配置项`routes`中,通过`children`属性定义由。 2. 在父组件模板中使用`<router-view></router-view>`标签渲染由。 3. 在每个组件的模板中填入组件内容。 ### 回答3: Vue 3中的由使用方法与Vue 2中的类似,你可以使用Vue Router来管理和配置由。 首先,在Vue项目中安装Vue Router。然后,在主由文件(通常是main.js)中导入VueVue Router,创建一个新的Vue Router实例,并将其与Vue实例关联。 然后,你可以在由配置文件中定义主由和由。主由用于加载包含由的组件,而由是主由下的具体组件。你可以在主由的`children`选项中定义由。 例如: ```javascript import { createRouter, createWebHistory } from 'vue-router'; import Home from './components/Home.vue'; import About from './components/About.vue'; import User from './components/User.vue'; import UserProfile from './components/UserProfile.vue'; import UserPosts from './components/UserPosts.vue'; const routes = [ { path: '/', name: 'Home', component: Home }, { path: '/about', name: 'About', component: About }, { path: '/user/:id', name: 'User', component: User, children: [ { path: 'profile', name: 'UserProfile', component: UserProfile }, { path: 'posts', name: 'UserPosts', component: UserPosts } ] } ]; const router = createRouter({ history: createWebHistory(), routes }); export default router; ``` 在上面的例中,`/user/:id`是一个带有动态参数的父由,它加载一个名为User的组件,并在`children`选项中定义了两个由:`/user/:id/profile`和`/user/:id/posts`。这两个由分别加载UserProfile和UserPosts组件。 在父组件User.vue中,你可以使用`<router-view>`组件来渲染由的内容,由的组件将根据所匹配的由进行加载和切换。 希望这个简单的示例能够帮助你理解Vue 3中由的使用方法。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值