繁体   English   中英

路径为铁路由器流星

[英]pathFor for iron router meteor

我对这个问题很困惑。 我有模板有两条路径如下:

Router.route('/companyDataManagement',{
        path:['/companyDataManagement','/companyDataManagement/:_id'],
        name: 'companyDataManagement',
        yieldTemplates:{
            'companyData':{to:'showCompanyData'},
            'companyDetails':{to:'showCompanyDetails'}
        }
});

这完全没问题。 但是如何为此模板使用pathFor <a href="{{pathFor companyDataManagement}}">Click</a>不起作用

您能否确认链接中的companyDataManagement是否是从帮助程序传递的名称,或者您是否打算将其作为所调用路由的名称? 如果是后者,则需要将其封装在如下的单引号中

<a href="{{pathFor 'companyDataManagement'}}">Click</a>

如果你想将:_id传递给路径,这来自链接所在的数据上下文,如果数据上下文没有提供id,你需要声明一个对象传递给帮助器内的模板:

Template.yourTemplate.helpers({
    myContextHelper: function(){
        return {_id:'XXXXXXXXX'}
    }
});

{{#with myContextHelper}}
    <a href="{{pathFor 'companyDataManagement'}}">Click</a>
{{/with}}

哪个应该给你/ companyDataManagement / XXXXXXXXX

您还可以使用例如query =“q = 1”或query = qstring传递查询,散列和数据变量,其中qstring是来自helper的对象或myContextHelper对象中的字段。

<a href="{{pathFor 'companyDataManagement' query=qstring }}">Click</a>

此外,并不严格地与问题有关但希望有用,它从你的代码看起来就像你只是:id作为你的路径中的可选路由部分,并且模板本身不需要:_id被指定,在这种情况下你可以使用? 使部件可选:

path:'/companyDataManagement/:_id?',

您还可以将此用作路径的开始参数,以消除必须在函数中指定路径:

Router.route('/companyDataManagement/:_id?',{

希望这可以帮助! 如果您可以发布更多围绕它的代码,请告诉我上述内容是否无法帮助解决问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM