0

input在 Laravel 中挑战了一个通用组件,如下所示:

//file: views/components/input.balde.php    
<input  @foreach ($attrs as $attr=>$val)
                {{ $attr }} = "{{ $val }}"
            @endforeach
            >

我想在刀片模板中按如下方式使用它:

<x-input :attrs="{{ ['type'=>'text', 'placeholder'=>"Search.."] }}" ></x-input>

问题是当我像上面的例子一样传递一个数组对象时,它似乎破坏了视图,但是当我发送一个这样的变量时:

@php
    $attributesArray = ['type'=>'text', 'placeholder'=>"Search.."];
@endphp    
<x-input :attrs="$attributesArray" ></x-input>

有没有办法按原样传递数组,而不必创建变量并发送它,这样我就不会添加不必要的 @php 指令?

4

3 回答 3

0

只需传入没有“{{}}”的数组

<x-input :attrs="[ 'type' => 'text', 'placeholder' => 'Search...' ]" />
于 2022-01-16T13:53:15.550 回答
0

尝试这个
<x-input :attrs="{!! [ 'type' => 'text', 'placeholder' => 'Search...' ] !!}" />

于 2021-09-16T14:19:29.617 回答
0

嗨,如果我理解正确,您想在字符串中获取任何数组值,您只需使用 implode 即可。

<x-input :attrs="{{ implode($attributesArray , " ") }}" ></x-input>

$attributesArray 变量只是一个要发送到刀片的变量,它是一个键值数组

于 2021-09-16T11:25:15.433 回答