Deb*_*rah 4 reload meteor flow-router
我找到了 FlowRouter.reload() 的 FlowRouter 文档,但我无法找到特定的代码示例,也无法使其工作。
在我的应用程序中,我有一个模板,它使用一些巧妙的 javascript(同位素)在页面大小调整时重新定位元素。有时,用户导航离开,调整浏览器窗口大小,然后返回到一个混乱的页面,该页面应该刷新并重绘以重新定位调整大小的窗口的元素。
这是我的路线。我将如何使用 FlowRouter.reload() 重新加载/刷新“工作”模板区域?或者,我将如何使用它来重新加载/刷新整个布局模板或窗口?
FlowRouter.route( '/work', {
action: function() {
BlazeLayout.render( 'body-static', {
content: 'work',
});
},
});
Run Code Online (Sandbox Code Playgroud)
万一其他人来到这里,这个问题在 Meteor 论坛中 Hugh 的大力帮助下得到了解决。
解决方案没有使用reload。相反,它利用 FlowRouter 中的触发器来检查模板是否正在重新加载,如果是则刷新它,然后在刷新后停止以防止无限循环。
结果是这样的。
// handle refreshing div on every load of div
let fireReload = false;
function reloadCheck(context, redirect, stop) {
if (fireReload) {
console.log('Hugh is Awesome and also reloading screen...');
FlowRouter.reload();
stop();
}
}
function routeCleanup() {
fireReload = !fireReload;
}
FlowRouter.route('/work', {
action: function() {
BlazeLayout.render( 'body-static', {
content: 'work',
});
},
triggersEnter: [reloadCheck],
triggersExit: [routeCleanup]
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2170 次 |
| 最近记录: |