now*_*wox 5 php laravel laravel-blade
假设我有一个刀片组件,例如:
<input type="text" id="foo" name="{{$name}}"/>
<script>
$('#foo').whatever
</script>
Run Code Online (Sandbox Code Playgroud)
IRL,这个组件要复杂得多。您可以想象一个包含大量字段的长表单,这些字段具有通用名称,例如name, description, owner...
然后我多次使用这个组件,我再次提出一个foreach但我们可以想象其他一些我不能使用迭代器为我的组件提供 id 的东西:
@foreach($items as $item)
@component('foo')
@endcomponent
@endforeach
Run Code Online (Sandbox Code Playgroud)
如何确保 的唯一性id?
一个可能不好的解决方案是使用局部变量:
@php($id = uniqid())
<input type="text" id="{{$id}}" name="{{$name}}"/>
<script>
$('#{{$id}}').change(whatever)
</script>
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
我会将项目传递给组件:
@component('foo', ['item' => $item])
Run Code Online (Sandbox Code Playgroud)
这允许您在其中执行此操作:
<input type="text" id="foo_{{ $item->id }}"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1353 次 |
| 最近记录: |