Flowrouter - 必须重新加载整个页面才能识别路线
Flowrouter - have to reload whole page for route to be recognised
非常基本的设置 - 用户提交一个 post,它是通过一种方法插入的,然后用户应该被路由到一个带有新创建的 post 的 _id
的确认页面:
const onSubmitPost = (post) => {
createPost.call(post, (err, res) => {
if(err) {
instance.errorMessage.set(err.reason);
} else {
FlowRouter.go("create-post/:postId/confirm", { postId: res });
}
});
};
// Route definition
FlowRouter.route("/create-post/:postId/confirm", {
name: "create-confirm",
action() {
BlazeLayout.render("MainPage", { content: "ConfirmPostContainer" });
}
});
但是当我尝试这个时,我得到 There is no route for the path: create-post/abc123/confirm
如果我手动按下重新加载,它工作正常 - 没问题。
有人知道发生了什么事以及如何解决吗?
编辑
- 这是在
/create-post
路由上调用的 - 重定向以确认
post创建后
- 添加了路由定义
- 尝试使用
redirect
而不是 go
- 没有区别
尝试 FlowRouter.redirect(您的路线名称,{ postId: res }
我可以建议您尝试两件事。我的预感是问题源于使用相对路径从 /create-post
调用 .go
方法。
所以,首先,尝试使用路由名称:FlowRouter.go('create-confirm', { postId: res });
其次,尝试绝对路径:FlowRouter.go('/create-post/' + res + '/confirm');
- 注意前导斜杠 /
!
这样行吗?
非常基本的设置 - 用户提交一个 post,它是通过一种方法插入的,然后用户应该被路由到一个带有新创建的 post 的 _id
的确认页面:
const onSubmitPost = (post) => {
createPost.call(post, (err, res) => {
if(err) {
instance.errorMessage.set(err.reason);
} else {
FlowRouter.go("create-post/:postId/confirm", { postId: res });
}
});
};
// Route definition
FlowRouter.route("/create-post/:postId/confirm", {
name: "create-confirm",
action() {
BlazeLayout.render("MainPage", { content: "ConfirmPostContainer" });
}
});
但是当我尝试这个时,我得到 There is no route for the path: create-post/abc123/confirm
如果我手动按下重新加载,它工作正常 - 没问题。
有人知道发生了什么事以及如何解决吗?
编辑
- 这是在
/create-post
路由上调用的 - 重定向以确认 post创建后 - 添加了路由定义
- 尝试使用
redirect
而不是go
- 没有区别
尝试 FlowRouter.redirect(您的路线名称,{ postId: res }
我可以建议您尝试两件事。我的预感是问题源于使用相对路径从 /create-post
调用 .go
方法。
所以,首先,尝试使用路由名称:FlowRouter.go('create-confirm', { postId: res });
其次,尝试绝对路径:FlowRouter.go('/create-post/' + res + '/confirm');
- 注意前导斜杠 /
!
这样行吗?