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 []

这是&lt;DIV&gt; 标签,我在其中显示:

<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(),
    ]);

我做错了什么?我试过-&gt;get()-&gt;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 将我的元素显示为数组而不是元素的主要内容,如果未能解决你的问题,请参考以下文章

console.log 显示数组对象的内容

element.children 的 console.log 显示长度为 0,但稍后展开时有三个条目

const常量定义

为啥 console.log() 显示 react_devtools_backend.js:4049 而不是文件和行号?

GREP未检测到数组中添加的元素

使用数组元素进行 JavaScript 解构