【发布时间】:2013-12-11 02:34:46
【问题描述】:
我在 Meteor.js 上使用带有 autoform 的车把助手。我正在尝试在我的表单上创建一个选择下拉框,但我希望选项来自集合而不是数组。我已经使用 collection2 包定义了我的集合“Persons”,并使用简单模式定义了模式。我已经插入了两个具有 firstName、lastName、fullName 值的 Person。
这是我的助手:
Handlebars.registerHelper("personSelectOption", function(options) {
peeps = Persons.find().fetch();
peeps.forEach(function(persons){
return [
{label:persons.firstName , value:persons.firstName}
];
});
});
我正在尝试让下拉框显示我收藏中每个人的名字,当我向收藏中添加更多人时,它会自动显示在下拉框中。
我知道我在这里遗漏了很多东西,但我是一个新的编码员,我能得到的任何帮助都会很棒。
谢谢!
我尝试使用车把助手,因为我看到的使用 autoform 的唯一好例子也是使用这个助手。 autoforms 中的下拉框使用这个:
<div class="form-group {{afHasError 'firstOptionSelect'}}">
{{afFieldLabel 'firstOptionSelect'}}
{{afFieldInput 'firstOptionSelect' firstOption="(Select Something)" options=personSelectOption}}
{{#if afFieldIsInvalid 'firstOptionSelect'}}
<span class="help-block">{{afFieldMessage 'firstOptionSelect'}}</span>
{{/if}}
</div>
选项是我试图让 firstName 出现的地方。 forEach 用于获取集合中的每个名字。如何在不使用把手帮助器的情况下使用流星语法来处理自动表单?
谢谢
【问题讨论】:
-
你为什么使用
Handlebars.registerHelper?你读过文档吗?只需通过在模板上定义一个函数来添加一个助手 -Template.myTemplate.myHelper = function() {};
标签: javascript meteor handlebars.js