Meteor iron:路由器this.render()正在BeforeAction钩子中阻塞
Meteor iron:router this.render() is blocking in onBeforeAction-hook
所以我已经搜索了几个小时的解决方案,但似乎自己都想不出来。我有iron:router onBeforeAction挂钩设置来检查不同的权限,例如,如果用户登录了。然而,一旦权限检查失败,并且调用了.render(..),我就会一直停留在该模板上,直到我重新加载页面-单击另一个路由的链接是不够的。
var onBeforeActions = {
loginRequired: function() {
if(Meteor.loggingIn() || !this.ready()) {
return this.render('loading');
} else if(!Meteor.user()) {
return this.render('accessDenied');
}
return this.next();
},
...
Router.onBeforeAction(onBeforeActions.loginRequired, {
only: ['postSubmit', 'postSubmitHandhistory', 'postEdit', 'postPage', 'groupJoin', 'groupPage', 'groupEdit'],
});
因此,例如,我在一个受限页面上,再次单击"注销"answers"登录"。然后我一直坚持加载模板,直到我点击F5。我可以看到路由发生了变化,因为我可以看到数据上下文发生了变化但没有重新加载yield布局。我还检查了onBeforeAction是否重新运行,事实上,它甚至到达了
this.next();
但它并没有重新招标。。有什么想法吗?
好的,我终于找到了问题的解决方案。路由器似乎没有什么问题,但我的页面转换中出现了一个错误,不知何故,它阻止了旧布局的删除。
相关文章:
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 正在将数据主题添加到所有项目
- 正在验证8个真/假复选框或复选框中的2个
- 正在寻找比$(document).ready慢的$(window).load的替代方案
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 正在全局范围中查找JavaScript函数
- 正在使用$location.path(.)路由ng视图
- 正在尝试使用if和else添加类,但无法正常工作
- 正在注入包含JS的HTML
- 正在阻止UIWebView警报
- 正在将base64 jpeg从input-type=file上传到服务器
- node.js:setInterval()正在跳过调用
- 正在获取生成的PHP td值
- iframe正在添加标签,需要删除它们
- 检测个位数整数时正在转换毫秒
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- GoogleFeed正在检索图像
- Node.js正在更改应用程序以使用集群模块
- JavaScript代码问题:我正在将对象转换为数组
- Meteor iron:路由器this.render()正在BeforeAction钩子中阻塞