对于我的应用程序中的某些页面,我想启用可打印模式,其中当 URL 参数包含?print=true
. 目前,我尝试了一种解决方法,包括通过 Iron-router 将 URL 参数作为数据上下文发送。
this.route('permitsList', {
path: '/permits/',
path: '/',
waitOn: function(){
return Meteor.subscribe('openPermits');
},
data: function(){
return this.params;
}
});
伴随着一个全局把手帮助器,用于适当地显示和隐藏元素。
在这种情况下,当 URL 包含 时?print=true
,显示和隐藏适当的元素是微不足道的。然而,这个解决方案有两个主要问题。首先,我希望实现此可打印视图的某些页面已经具有数据上下文。覆盖数据上下文是不可行的,并且将两个数据上下文都嵌入到一个更大的对象中是相当恶心的。第二个问题是我希望可打印视图不仅适用于模板本身,而且适用于呈现页面的周围布局模板,以便删除无关的标题等。
是否有任何合理的方法可以访问 Spacebars 助手内部的 URL 参数,而无需通过 Iron Router 在数据上下文中指定参数?