如何访问Meteor助手功能中的URL参数?

时间:2014-06-08 21:53:45

标签: javascript meteor iron-router spacebars

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

    this.route('permitsList', {
        path: '/permits/',
        path: '/',
        waitOn: function(){
            return Meteor.subscribe('openPermits');
        },
        data: function(){
            return this.params;
        }
    });

伴随着全球车把助手,用于恰当地展示和隐藏元素。

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

有没有合理的方法来访问Spacebars助手内的URL参数,而无需通过Iron Router在数据上下文中指定参数?

1 个答案:

答案 0 :(得分:1)

总结为答案: 即使没有流星也可以访问查询参数

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

window.location返回当前URL,window.location.search只将查询参数作为字符串。