php - 如何确保 Laravel Blade 中的唯一 ID?
问题描述
假设我有一个刀片组件,例如:
<input type="text" id="foo" name="{{$name}}"/>
<script>
$('#foo').whatever
</script>
IRL,这个组件要复杂得多。您可以想象一个长表单,其中包含大量具有通用名称的字段,例如name
, description
, owner
...
然后我多次使用这个组件,我再次提出一个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 }}"/>
推荐阅读
- flutter - 如何使用颤振从应用程序中导出文件中的csv?不使用简单的权限插件和permission_handler 插件
- excel - 查找具有相反重复项的单元格
- image-processing - 作为高斯总和的近似图像
- django - Django 设置应用模型
- dns - 找不到 subdomain.domainname.com 的服务器 IP 地址
- docker - 使用拉伸和高山进行多阶段构建
- javascript - Nodejs嵌套的ForEach回调接收空结果
- ansible - 致命:[10.XXX]:失败!=> {"msg": " [WARNING] Ansible 正在世界可写目录 Ansible 中运行
- angular - 如何使用角度的异步字段转换后端数据?
- redux - Dart/Flutter - 回调函数的收益