2013-11-09 246 views
4

我爲我的流星項目使用鐵路由器,一切都很順利,但我遇到了一些奇怪的行爲。把手+流星+鐵路由器

我有一個循環設置爲看起來像這樣的項目列表。

{{#each list_items}} 
    <div>{{user.username}} 
    <a href="{{link}}">Click here!</a> 
    </div> 
{{/each}} 

的JSON對象我的用戶看起來是這樣的:

{ 
    user: { 
     username: jdoe 
    }, 
    images: { 
    low-res-url: http://example.com 
    }, 
    link: http://example.com/profile 
} 

現在{{user.username}}顯示爲預期的,但是當我嘗試把{{鏈接}}在href我從鐵路由器說

"You called Router.path for a route named undefined but that that route doesn't seem to exist. Are you sure you created it?" 

任何幫助或建議,將不勝感激錯誤。

回答

5

引擎蓋下鐵路由器註冊handelbars幫手:

Handlebars.registerHelper('link', function (options) {       
    ... 
}); 

簡單地改變場link不同的名稱,比如my_link

+0

這做到了。謝謝! –

+0

這是正式記錄在哪裏?我希望我早點知道這件事! – ecbrodie

+0

查看Iron-Router源代碼是有益的。 –

4

由於@perhelium提到鐵路由器已經指定了一個名爲「鏈接」

Handlebars.registerHelper('link', function (options) {...}); 

幫手爲了訪問名爲「Link」的項目在你的JSON對象,你需要明確地指JSON對象本身。

所以你行:<a href="{{link}}">Click here!</a>

需要被指定爲<a href="{{this.link}}">Click here!</a>

+0

謝謝,這是一個更好的解決方案,然後將每個收集項目重命名爲「my_link」。 – nooitaf