Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 余烬作为数组输入辅助值_Javascript_Ember.js_Input - Fatal编程技术网

Javascript 余烬作为数组输入辅助值

Javascript 余烬作为数组输入辅助值,javascript,ember.js,input,Javascript,Ember.js,Input,在html表单中,您可以将多个字段串在一起,并将其视为一个数组。例如: <input name="cars[]" value="" /> <input name="cars[]" value="" /> <input name="cars[]" value="" /> 这将为您提供一个包含所有字段的阵列,例如:宝马、捷豹、保时捷 在余烬中,等效物类似于: {{input name="cars[]" value=car0 }} {{input name="ca

在html表单中,您可以将多个字段串在一起,并将其视为一个数组。例如:

<input name="cars[]" value="" />
<input name="cars[]" value="" />
<input name="cars[]" value="" />
这将为您提供一个包含所有字段的阵列,例如:宝马、捷豹、保时捷

在余烬中,等效物类似于:

{{input name="cars[]" value=car0 }}
{{input name="cars[]" value=car1 }}
{{input name="cars[]" value=car2 }}
因此,我们可以这样做(我不确定是否有更好的方法):


您将如何动态地执行此操作?这样我就能抓住所有的“汽车”区域?正如您所看到的,这个重复的代码应该能够进入for循环,尽管我不确定如何进行?写出10行、20行、30行以上的相同名称可能会变得单调乏味。

您应该做的不是直接在数组上循环,而是在包含值的对象数组上循环

所以你不会有
[1,2,3]
,而是像
[{val:1},{val:2},{val:3}]
。然后可以在对象上循环并将输入帮助程序绑定到
val

{{#each cars as |car|}}
    {{input value=car.value}}
{{/each}}

这将如预期的那样起作用。因此,我不确定从何处获得此数组,但如果必须使用值数组,则可以使用
ArrayProxy
ObjectProxy
来构建更有用的内容。或者使用观察者将其写回到结构中。但最好不要在ember应用程序中使用值数组,只要在连接到
API
时将其转换即可。我的意思是类似于
cars.map(car=>Ember.get(car,'val')
的东西可以为您提供所需的值数组。而对于另一个方向,您可以执行
carVals.map(val=>Ember.Object.create({val}))
您应该做的不是直接在数组上循环,而是在包含值的对象数组上循环

因此,您没有
[1,2,3]
,而是像
[{val:1},{val:2},{val:3}]
这样的东西。然后您可以循环对象并将输入帮助程序绑定到
val

{{#each cars as |car|}}
    {{input value=car.value}}
{{/each}}

这将按预期工作。因此我不确定从何处获得此数组,但如果必须使用值数组,则可以使用
ArrayProxy
ObjectProxy
构建更有用的内容。或者使用观察者将其写回结构。但最好不要在余烬应用程序中使用值数组,只需在连接到
API
时将其转换。我的意思是类似于
cars.map(car=>Ember.get(car'val')
可以为您提供所需的值数组。而对于另一个方向,您可以执行
carVals.map(val=>Ember.Object.create({val}))

难道你不能将
car0、car1和car2的计算值放入一个数组中吗?如果你有50个字段,你需要手动将car0、car1、car2、car3等写入50个。首先我想问为什么你有50个单独的字段而不是放入一个数组中。如果你必须有50个字段,那么你必须键入除非你做一些类似的事情,比如把它预先输入一个数组
['car1','car2','car3']
然后做
Ember.computed(…cars,function(){})
看起来你的车在一个模型上应该是一辆
hasMany
这是我想做的:{{{input name=“cars[]”value=car 0]}假设有50个这样的字段,然后在我的控制器中,我只想做一个for循环,这样我就可以做一个.get('car[I]'));你不能将
car0、car1和car2的计算值放入一个数组吗?如果你有50个字段,你需要手动将car0、car1、car2、car3等写入50个。首先,我想问为什么你有50个单独的字段而不是将它们放入一个数组中。如果你必须有50个字段,那么你必须全部输入除非你做一些事情,比如预先把它输入一个数组
['car1','car2','car3']
,然后做
Ember.computed(…cars,function(){})
看起来你的车在一个模型上应该是一辆
hasMany
,这就是我想做的:{{{input name=“cars[]”value=car 0]}假设有50个这样的字段,然后在我的控制器中,我只想做一个for循环,这样我就可以做一个.get('car[I]');
{{#each cars as |car|}}
    {{input value=car.value}}
{{/each}}