来自对象的Vue.js vue-router不会在导航防护

时间:2018-01-29 17:33:02

标签: javascript vue.js routing navigation vue-router

基本上我的问题是,当使用beforeEachbeforeRouteEnter from参数{name: null, meta: {…}, path: "/", hash: "", query: {…}, …}等导航警卫时,当我尝试重定向到from时,这是一个问题从那以后的一条路线,export default new Router({ routes: [ { path: '/', name: 'Home', component: Home }, { path: '/dashboard', name: 'Dashboard', component: Dashboard, children: [ { path: 'profile', name: 'Profile', component: Profile }, { path: 'config', name: 'Config', component: Config } ] } ] }) 仍为空。

所以,我有这个路线定义:

router.beforeEach((to, from, next) => {
  console.log(to)
  console.log(from)
  if (from.name !== 'Profile') {
    next({ name: 'Profile' })
  } else {
    next()
  }
})

我的前卫看起来像这样,在main.js或Dashboard.vue上(它只更改了警卫名称):

to

这会输出from{name: "Dashboard", meta: {…}, path: "/dashboard/", hash: "", query: {…}, …} {name: null, meta: {…}, path: "/", hash: "", query: {…}, …} {name: "Profile", meta: {…}, path: "/dashboard/profile", hash: "", query: {…}, …} {name: null, meta: {…}, path: "/", hash: "", query: {…}, …} {name: "Profile", meta: {…}, path: "/dashboard/profile", hash: "", query: {…}, …} {name: null, meta: {…}, path: "/", hash: "", query: {…}, …} 的循环,如下所示:

from

它继续循环(null和“Profile”)元组,vue init webpack project永远不会更改为“Profile”。

在我看来它并不像它应该以这种方式行事,因为我希望它在再次尝试防护之前重定向,不确定它是否是一个错误或预期的行为。

要重现我使用release()的错误,然后按照上面的说明进行更新。

0 个答案:

没有答案