如何使用 Meteor 模板助手编辑 Iron-Router 中作为参数传递的值?
How Do I Use a Meteor Template Helper to Edit a Value Passed as a Parameter in Iron-Router?
如何使用模板助手编辑我传递到使用 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}}
returns一个字符串,类名。
因为我已经注册了模板助手,所以我可以通过以下方式对这个类别进行 SLUGIFY:
{{slugify this}}
然后我有这条路线:
this.route('List',{
path: '/list/:category_slug',
template: 'list',
controller: 'ListController'
});
我可以link到这条路线,并通过以下方式将参数传递给这条路线:
{{pathFor 'List' category_slug='the-value-i-passed'}}
但这将是硬编码,无法达到我想要的结果。
我希望它是动态的,方法是使用 'slugify'
模板助手和 iron-router 的 pathFor
方法并使用 {{this}}
.
的值
虽然下面的代码不起作用,但我想要实现的是这样的:
{{pathFor 'List' category_slug={{slugify this}} }}
要实现我 'trying' 通过上述行实现的目标,有什么解决方法????
我希望我能做类似的事情:
{{pathFor 'List' category_slug=slugify(this) }}
或
{{pathFor 'List' category_slug='{{slugify this}}' }}
长话短说,您正在寻找的内容尚未使用当前语法实现,尽管它是 Handlebars 标准实现的一部分,Meteor Spacebars 正是基于该标准实现。
目前,您必须创建一个单独的帮助程序来处理您的输入并在 pathFor
内调用它。
JS
Template.myTemplate.helpers({
slugified: function(){
return _.slugify(this);
}
});
空格键
{{pathFor 'List' category_slug=slugified}}
请注意,Handlebars 子表达式支持计划在不久的将来根据此 PR 甚至可能进入下一版本的 Meteor:https://github.com/meteor/meteor/pull/4101
如何使用模板助手编辑我传递到使用 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}}
returns一个字符串,类名。
因为我已经注册了模板助手,所以我可以通过以下方式对这个类别进行 SLUGIFY:
{{slugify this}}
然后我有这条路线:
this.route('List',{
path: '/list/:category_slug',
template: 'list',
controller: 'ListController'
});
我可以link到这条路线,并通过以下方式将参数传递给这条路线:
{{pathFor 'List' category_slug='the-value-i-passed'}}
但这将是硬编码,无法达到我想要的结果。
我希望它是动态的,方法是使用 'slugify'
模板助手和 iron-router 的 pathFor
方法并使用 {{this}}
.
虽然下面的代码不起作用,但我想要实现的是这样的:
{{pathFor 'List' category_slug={{slugify this}} }}
要实现我 'trying' 通过上述行实现的目标,有什么解决方法????
我希望我能做类似的事情:
{{pathFor 'List' category_slug=slugify(this) }}
或
{{pathFor 'List' category_slug='{{slugify this}}' }}
长话短说,您正在寻找的内容尚未使用当前语法实现,尽管它是 Handlebars 标准实现的一部分,Meteor Spacebars 正是基于该标准实现。
目前,您必须创建一个单独的帮助程序来处理您的输入并在 pathFor
内调用它。
JS
Template.myTemplate.helpers({
slugified: function(){
return _.slugify(this);
}
});
空格键
{{pathFor 'List' category_slug=slugified}}
请注意,Handlebars 子表达式支持计划在不久的将来根据此 PR 甚至可能进入下一版本的 Meteor:https://github.com/meteor/meteor/pull/4101