我正在为我的流星项目使用铁路由器,一切都很顺利,但我只是遇到了一些奇怪的行为。
我为一个看起来像这样的项目列表设置了一个循环。
{{#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}}按预期显示,但当我尝试将{{link}}放入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?"
任何帮助或建议都将不胜感激。
答案 0 :(得分:5)
引擎盖下Iron-Router注册把手帮手:
Handlebars.registerHelper('link', function (options) {
...
});
只需将字段link
更改为其他名称,例如my_link
。
答案 1 :(得分:4)
正如@perhelium所提到的,Iron-Router已经指定了一个名为'link'的帮助者
Handlebars.registerHelper('link', function (options) {...});
为了访问JSON对象中名为“link”的项,您需要显式引用JSON对象本身。
所以你的行:<a href="{{link}}">Click here!</a>
需要指定为<a href="{{this.link}}">Click here!</a>