如果在Vue-Router中找不到匹配路线,则强制重新加载



我正在为Vue-Router的问题而苦苦挣扎。我需要检查一个简单的条件,即

If no matching route is found. Do window.location.reload()

我正在使用vue-router:2.7.0,vue为2.4.2

我已经浏览了庞大的博客文章,但是没有找到直接答案的地方。

我将投入代码,然后解释。

const router = new VueRouter({
  mode: 'history',
  routes,
});
router.beforeEach((to, from, next) => {
  if (to.matched.length === 0) {
    window.location.reload();
  }
  next();
});

router.beforeach在装有三个参数的路由之前被调用。to, from and next。接下来是回调功能。
这里的关键是to参数中的匹配属性。它包含一系列匹配的路线。如果发现不匹配的路线,则to.matched数组的长度变为0,这是我用来做出决定的属性。

vue-router中应该有一种原本的属性。但这是一场斗争,我将在另一天战斗。

相关内容

  • 没有找到相关文章

最新更新