簡體   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