Templates 渲染<;选项>;在#内,每个循环都会抛出错误
我想使用以下组件(基于的公认答案)在Templates 渲染<;选项>;在#内,每个循环都会抛出错误,templates,components,handlebars.js,ember-cli,Templates,Components,Handlebars.js,Ember Cli,我想使用以下组件(基于的公认答案)在标记内动态创建元素: 另一个组件将选项列表和selectedElement变量传递给该组件 在我的模板中,当我使用#each块时,如下所示: <select name="{{name}}" id="{{name}}"> {{#each computedOptions as |option|}} <option></option> {{/each}} </select> 将作为|选
标记内动态创建
元素:
另一个组件将选项列表
和selectedElement
变量传递给该组件
在我的模板中,当我使用#each块时,如下所示:
<select name="{{name}}" id="{{name}}">
{{#each computedOptions as |option|}}
<option></option>
{{/each}}
</select>
将作为|选项|
删除并使用我的选项属性会无误地呈现选项(在我的示例中有3个选项),但在生成的HTML中,选项本身是空的(
),因此,当我单击“在我的页面中选择”时,每个选项的文本都不可见
这是否意味着不可能在Ember.js中动态填充
标记?如果可能的话,正确的方法是什么?将作为|某物|
的想法是您可以使用所需的变量名
这个问题:告诉我们,当您的var名称是一个现有的标记(选项、p等)时,会有一些冲突,所以您只需执行以下操作:
<select name="{{name}}" id="{{name}}">
{{#each computedOptions as |opt|}}
<option value="{{opt.value}}" selected={{opt.isSelected}}>{{opt.text}}</option>
{{/each}}
</select>
{{{#每个计算选项作为{opt}}
{{opt.text}
{{/每个}}
cf我的答案
<select name="{{name}}" id="{{name}}">
{{#each computedOptions}}
<option value="{{option.value}}" selected={{option.isSelected}}>{{option.text}}</option>
{{/each}}
</select>
<select name="{{name}}" id="{{name}}">
{{#each computedOptions as |opt|}}
<option value="{{opt.value}}" selected={{opt.isSelected}}>{{opt.text}}</option>
{{/each}}
</select>