Javascript 如何访问Meteor helper函数中的URL参数?

Javascript 如何访问Meteor helper函数中的URL参数?,javascript,meteor,iron-router,spacebars,Javascript,Meteor,Iron Router,Spacebars,对于我的应用程序中的一些页面,我希望启用可打印模式,当URL参数包括?print=true时,页面的一些元素被隐藏。目前,我尝试了一种解决方法,包括通过iron路由器将URL参数作为数据上下文发送 this.route('permitsList', { path: '/permits/', path: '/', waitOn: function(){ return Meteor.subscribe('openPerm

对于我的应用程序中的一些页面,我希望启用可打印模式,当URL参数包括
?print=true
时,页面的一些元素被隐藏。目前,我尝试了一种解决方法,包括通过iron路由器将URL参数作为数据上下文发送

    this.route('permitsList', {
        path: '/permits/',
        path: '/',
        waitOn: function(){
            return Meteor.subscribe('openPermits');
        },
        data: function(){
            return this.params;
        }
    });
附带用于适当显示和隐藏元素的全局把手辅助对象

在这种情况下,当URL包含
?print=true
时,显示和隐藏适当的元素是很简单的。然而,这个解决方案有两个主要问题。首先,我希望实现这个可打印视图的一些页面已经有了数据上下文。覆盖数据上下文是不可行的,将两个数据上下文嵌入到一个更大的对象中是相当令人厌恶的。第二个问题是,我希望可打印视图不仅应用于模板本身内部,而且应用于呈现页面的周围布局模板,以便删除无关的标题等

在不通过Iron Router指定数据上下文中的参数的情况下,是否有任何合理的方法访问Spacebars helper中的URL参数?

总结如下: 即使没有meteor,也可以访问查询参数

if ( window.location.search.indexOf( '?print=true' ) > -1 ) { ... } 

window.location返回当前URL,window.location.search仅以字符串形式搜索查询参数。

是否
if(window.location.search.indexOf('?print=true')>-1){…}
帮助您?window.location返回当前URL,window.location.search只返回查询参数。这似乎已经完成了。我认为meteor在开始呈现把手模板时不会真正保留URL,所以我甚至没有尝试过类似的东西。