当我发布并打印<p>{{profile.classes}}</p>
时,我会获得英语,数学,科学。我希望在课程English, Maths, Science
之后用空格打印出来。
我想有一种简单的方法可以做到这一点?我正在使用,autoform
和simpleschema
只是因为这是相关的。
答案 0 :(得分:1)
来自@ThiagoSckianta的回答几乎是正确的,除非您需要使用正则表达式替换所有匹配项。见link。
Template.NameOfYourController.helpers({
profileClasses: function () {
return (this.profile && this.profile.classes) ?
this.profile.classes.replace(/,/g, ', ') : '';
}
});
然后,在你的html中:
<p>{{profileClasses}}</p>
<强>更新强>
如果profile.classes
是一个数组,那么在调用replace之前你会做#toctring`
Template.NameOfYourController.helpers({
profileClasses: function () {
var classes = (this.profile && this.profile.classes) ? this.profile.classes.toString() : '';
return classes.replace(/,/g, ', ');
}
});
答案 1 :(得分:0)
你应该实现一个辅助函数。
转到页面的.js文件,其中定义了控制器,然后粘贴下面的代码。请记住替换控制器的名称。
<p>{{profileClasses}}</p>
然后,在.html文件中,写下:
Template.NameOfYourController.helpers({
formatList: function (list) {
return list ? list.replace(/,/g, ', ') : '';
}
});
另一种选择是将参数传递给辅助函数:
<p>{{formatList profile.classes}}</p>
然后,在你的html中:
repsep
The Meteor tutorial is an interesting starting point to learn this.
You can find more details about templates and helpers in this session of the docs