Ember 来自模型的动态输入值 - HTMLbars

Ember Dynamic Input Value from Model - HTMLbars

假设模型如下:

export default Ember.Route.extend({
  model() {
    return ['car', 'truck', 'boat'];
  }
});

我可以像这样遍历模型:

{{#each model as |vehicle index|}}
    {{vehicle}} - #{{index}}
{{/each}}

这将导致:

car - #0
truck - #1
boat - #2

但是,如果我想在输入中使用动态属性怎么办(我知道以下内容无法按我想要的方式工作):

{{#each model as |vehicle index|}}
    {{input value=vehicle}}
{{/each}}

这会导致所有输入字段加载已定义的值:输入中的汽车、卡车和船。

我想要实现的是这个(假设你遍历模型,它会 'output' 这个):

{{input value=car}}
{{input value=truck}}
{{input value=boat}}

但它没有输出那个,它输出这个:

{{input value="car"}}
{{input value="truck"}}
{{input value="boat"}}

值已经定义,但我想在模型中定义 'car'(意味着它没有值)我只是设置名称输入然后,我将能够访问 {{car}} 这样无论用户在空白输入中键入什么,它都会输出到 {{car} }

查看 Ember 文档,他们向输入助手展示了 Binding dynamic attribute 的示例

回顾上面的例子,最终的代码是:

{{#each model as |vehicle index|}}
    {{input value=(mut (get this vehicle))}}
{{/each}}

如果您在文档中引用 {{car}},当您输入内容时...它会显示。