【发布时间】:2016-03-07 07:51:45
【问题描述】:
我正在尝试构建一个流星模板来简化在表单上创建单选按钮。我希望能够通过空格键将数组或对象作为参数传递给模板。如何将数组/对象作为参数传递,或者这是否可能?
模板:
<template name="radioButton">
<div class="mdl-textfield mdl-js-textfield">{{radioLabel}}</div>
{{#each getRadioOptions}}
<label class="mdl-radio mdl-js-radio mdl-js-ripple-effect" for="{{radioOptionID}}">
<input type="radio" id="{{radioOptionID}}" class="mdl-radio__button" name="{{radioID}}" value="{{optionID}}">
<span class="mdl-radio__label">{{optionLabel}}</span>
</label>
{{/each}}
</template>
模板助手:
Template.radioButton.helpers({
getRadioOptions: function () {
console.log("getRadioOptions called");
console.log(this);
console.log(this.radioOptions);
return this.radioOptions;
},
radioOptionID: function() {
return this.radioID+"-"+this.optionID;
}
});
尝试的空格符号:
{{> radioButton radioID="sampleID" radioLabel="Sample Radio Buttons"
radioOptions=[{optionID:"option1",optionLabel:"Option One"},
{optionID:"option2",optionLabel:"Option Two"}] }}
在运行这个符号并查看浏览器控制台后,我得到了这个:(这表明只有null 被传递给radioOptions)
getRadioOptions called
Object {radioID: "sampleID", radioLabel: "Sample Radio Buttons", radioOptions: null}
null
【问题讨论】:
-
我不相信从空格键传递 json 是可能的。字符串、标量和变量名是的(并且变量显然可以引用对象)。很高兴被证明是错误的,但只是没有看到。
标签: templates meteor spacebars