[英]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.