php - 如何确保 Laravel Blade 中的唯一 ID?

标签 php laravel laravel-blade

假设我有一个 Blade 组件,例如:

<input type="text" id="foo" name="{{$name}}"/>
<script>
$('#foo').whatever
</script>

IRL ,这个组件要复杂得多。您可以想象一个包含大量字段的长表单,这些字段具有通用名称,例如 namedescriptionowner...

然后我多次使用这个组件,我再次提出一个 foreach 但我们可以想象一些我不能使用迭代器为我的组件提供 id 的东西:

@foreach($items as $item)
    @component('foo')
    @endcomponent
@endforeach

如何保证id的唯一性?

一个可能不好的解决方案是使用局部变量:

@php($id = uniqid())
<input type="text" id="{{$id}}" name="{{$name}}"/>
<script>
$('#{{$id}}').change(whatever)
</script>

有没有更好的办法?

最佳答案

我会将项目传递给组件:

@component('foo', ['item' => $item])

它允许您在其中执行此操作:

<input type="text" id="foo_{{ $item->id }}"/>

关于php - 如何确保 Laravel Blade 中的唯一 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56466413/

相关文章:

Laravel 新星 : Build Components

php - Blade 有调试控制台吗?

php - 如何将数组传递给 laravel 5.4 中的@slot?

php - 使用 PHPExcel 只读取一个大 Excel 文件的一行

php - 如何使用PHP和SQL删除行

html - <li> names 属性中的变量

php - 如何让 PHPStorm 认为我的文件位于不同目录中以用于 Intellisense/completion?

laravel 访问 Blade 中的模型常量

php - Mysql 基于百分比的查询

php - 文件读取到 DB 插入导致 unicode 字符串