【发布时间】:2025-07-09 14:45:01
【问题描述】:
如何使用 template-helper 来编辑我传递给使用 iron-router 的 pathFor 方法创建的路由的参数值???
我有这个模板助手:
Template.registerHelper('slugify', function(obj){
return _.slugify(obj);
});
在我的 .html 文件中,我有这个:
{{#each menuItemsFromDB}}
{{#each arrayOfMenuItems}}
<a class="item category" href="">
{{this}}
</a>
{{/each}}
{{/each}}
上面代码中的{{this}}返回一个字符串,即类别的名称。
因为我已经注册了一个模板助手,所以我可以通过以下方式 SLUGIFY 这个类别:
{{slugify this}}
然后我有这条路线:
this.route('List',{
path: '/list/:category_slug',
template: 'list',
controller: 'ListController'
});
我可以链接到这条路线并通过以下方式将参数传递给这条路线:
{{pathFor 'List' category_slug='the-value-i-passed'}}
但这将是硬编码,无法达到我想要的结果。
我希望它是动态的,通过使用'slugify' 模板助手和 Iron-router 的pathFor 方法并使用{{this}} 的值。
我想要实现的是这样的,尽管下面的代码不起作用:
{{pathFor 'List' category_slug={{slugify this}} }}
用上面的行来实现我“试图”实现的目标是什么??
我希望我能做这样的事情:
{{pathFor 'List' category_slug=slugify(this) }}
或
{{pathFor 'List' category_slug='{{slugify this}}' }}
【问题讨论】:
标签: javascript meteor iron-router spacebars