Console.log 将我的元素显示为数组而不是元素
Posted
技术标签:
【中文标题】Console.log 将我的元素显示为数组而不是元素【英文标题】:Console.log shows my element as an array instead of an element 【发布时间】:2021-01-01 09:14:28 【问题描述】:我正在做一个客户能够编辑项目的视图,它带有一个过滤器,因此他/她可以在给定的选项之间进行选择。但是,每次我编辑它并保存它时,如果我返回编辑部分,即使它已保存,文本框也是空的。如果我使用检查工具,控制台会显示:
impuestos_compra: Array [ … ]
如果我打开它,这是显示的信息:
impuestos_compra: (1) […]
"$$hashKey": "object:87"
0: Object id: 2, empresa_id: 6, nombre: "IVA", …
length: 1
<prototype>: Array []
这是<DIV>
标签,我在其中显示:
<div class="form-group col-md-6">
<label>
Impuestos de Mario
</label>
<select ng-model="articulo.impuestos_compra" name="impuestos_compra" class="form-control input-lg" required>
<option value="">Seleccione impuesto de compra</option>
<option ng-repeat="item in impuestos_compra" value="@ item.abreviacion ">@ item.abreviacion </option>
</select>
</div>
在我尝试迭代它时,我做了以下代码:
impuestos_compra = ['IVA' , 'IVAT0' ];
impuestos_compra.forEach(function(impuestos_compra)
console.log(impuestos_compra);
);
最后,带有编辑功能的 Laravel 控制器如下所示:
public function edit($id)
$articulo = Articulo::with('sat_producto:clave,descripcion', 'sat_unidad:clave,descripcion')->findOrFail($id);
return view('panel.configuracion.articulo', [
'id' => $id,
'presentaciones' => Presentacion::select('nombre')->get()->toArray(),
'impuestos_compra' => Impuesto::select('abreviacion')->where('tipo' , 'compra')->get(),
]);
我做错了什么?我试过->get()->toArray()
,但都不管用。
提前致谢。
【问题讨论】:
你必须改变你的forEach
函数里面的变量名,外面的数组和里面的值都同名。
嗨。我只是这样做了,没有任何改变:(
【参考方案1】:
我认为问题在于您的impuestos_compra
初始化。您可以尝试采摘而不是选择。 Pluck 将列的值作为集合返回。试试下面的代码。
public function edit($id)
$articulo = Articulo::with('sat_producto:clave,descripcion', 'sat_unidad:clave,descripcion')->findOrFail($id);
return view('panel.configuracion.articulo', [
'id' => $id,
'presentaciones' => Presentacion::select('nombre')->get()->toArray(),
'impuestos_compra' => Impuesto::where('tipo' , 'compra')->pluck('abreviacion')->toArray(),
]);
【讨论】:
以上是关于Console.log 将我的元素显示为数组而不是元素的主要内容,如果未能解决你的问题,请参考以下文章
element.children 的 console.log 显示长度为 0,但稍后展开时有三个条目
为啥 console.log() 显示 react_devtools_backend.js:4049 而不是文件和行号?