Meteor Flowrouter-必须重新加载整个页面才能识别路由
非常基本的设置-用户提交一篇文章,通过一种方法插入,然后用户应该被发送到一个带有新创建文章的Meteor Flowrouter-必须重新加载整个页面才能识别路由,meteor,meteor-blaze,flow-router,Meteor,Meteor Blaze,Flow Router,非常基本的设置-用户提交一篇文章,通过一种方法插入,然后用户应该被发送到一个带有新创建文章的\u id的确认页面: const onSubmitPost = (post) => { createPost.call(post, (err, res) => { if(err) { instance.errorMessage.set(err.reason); } else { FlowRouter.go("
\u 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" });
}
});
但当我尝试此操作时,我发现路径没有路由:createpost/abc123/confirm
如果我手动按重新加载,它工作正常-没有问题
有人知道发生了什么,以及如何修复吗
编辑
- 这在
路由-重定向上调用,以确认 创建后发布/create post
- 添加了路由定义
- 尝试使用
而不是重定向
-没有区别转到
/create post
调用.go
方法
因此,首先,尝试路由名称:FlowRouter.go('create-confirm',{postId:res});
其次,尝试绝对路径:FlowRouter.go('/create post/'+res+'/confirm');
-注意前面的斜杠/
这行吗?不幸的是,这行不通。
重定向
实际上需要一个URL,因此必须执行FlowRouter.redirect(
create league/${res}/confirm);
但控制台中有相同的错误消息-路径没有路由…对不起,我的错误是FlowRouter.redirect(您的路由名称,{postId:res})你知道为什么会发生这种情况吗?你能告诉我create post
路由的定义吗?还有当你调用这个方法时,你的路由是什么吗?@tomsp done!它是从基本create post
路由调用的。我知道很多人在FR初始化时遇到问题,因为路径“/”没有路由,但我的所有其他路线似乎都很好。我现在检查所有的包,看看是否与使用旧版本FlowRouter的另一个包存在冲突,但这似乎不太可能meWow-这两种方法都有效。这很奇怪,因为在使用重定向时,这不起作用。对我来说没有意义这应该发生在两条路线呈现不同的容器模板时。但是谢谢-希望我能为两个解决方案投两张赞成票!