我发现我的beforeEach函数充满了检查,以查看to
的值是否与将传递给next()
的值匹配以防止无限循环。例如,如果我想让用户登录(如果他们没有登录),则不能使用:
if (!user.isLoggedIn) {
return next({ name: 'login' });
}
我必须使用:
if (!user.isLoggedIn) {
if (to.name !== 'login') {
return next({ name: 'login' });
}
return next();
}
在我看来,这似乎很奇怪和不必要。关于如何使用Vue Router,我是否缺少某些东西?
是否存在用与next()
的当前值相同的参数调用to
的用例?
答案 0 :(得分:0)
遵循的一种模式是包括一个meta property on the route itself,然后检查该属性是否在挂钩中设置:
If(!user.isLoggedIn && to.route.meta.requiresAuth)
next({name: 'login'});
else
next();
而且由于您的登录,注册和忘记密码页面不需要身份验证,因此您会陷入循环
答案 1 :(得分:0)
简单的答案:因为Reshape
-函数具有不同的含义(目标)。
reshape = keras.layers.Reshape(300 * max_seq_length + 300, 1) encoded_left = reshape(encoded_left) encoded_right = reshape(encoded_right)
功能就像一个调度员,正在告诉火车去哪里 去。
仅在这些调用之间应用程序状态发生变化(删除了Cookie,更改了LocalStorage值,会话结束等)时,使用相同的next
路由调用next
-函数才有意义。无限循环警告/错误。
是否存在用例参数与next()相同的用例调用next() to的当前值?
是的,有一些用例。可以在此SO quesion and answer.中找到其中之一-动态更改负责视图渲染的组件。