vue设置默认路由问题

问题:如下路由,如果进入123.com,显示的是/home页面,但是/home的active-class不会显示.
输入网址123.com如何默认跳到123.com/#/home?或者在123.com/#/让home样式显示?

  routes: [
    {
      path: '/',
      name: 'home',
      component: home
    },
    {
      path: '/home',
      name: 'home',
      component: home
    },
    {
      path: '/news',
      name: 'news',
      component: news
    }
  ]
阅读 45.9k
7 个回答

{path: '/', redirect: '/home'},

//xxxx

把/home去掉啊... 第一个路由不是引用了home组件了吗..

看你这么描述的,我猜你应该通过点击事件做的active处理,所以在你输入url的时候这个方式肯定不会生效。

像这样可以采取路由钩子去解决,比如beforeRouteEnter, 在进入路由之后去处理后续事情。

建议参考下官方文档:
https://router.vuejs.org/zh-cn/advanced/navigation-guards.html

重定向确实可以解决

用push指定跳转至/home不就行了

使用默认路径
import Vue from 'vue'
import Router from 'vue-router'
import MyHome from '../views/myHome'

Vue.use(Router)

export default new Router({
routes: [{
path: '/',
redirect: '/myhome',//设置默认指向的路径
name: '主页'
}, {
path: '/myhome',//设置默认指向的路径指向的是下面的MyHome组件
component: MyHome,
name: 'MyHome'
}]
})

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题