我使用了 stack()
获取 push()
在我的模板中编辑值:
<script>
$(document).ready(function(){
@stack('ready_script')
});
</script>
但我想检查是否有什么push()
ed 已经放了 <script>
和其他代码。
有什么办法可以检查吗?
最佳答案
目前 laravel 中没有用于 @stack 检查的指令。 您需要定义一个自定义指令
参见 Laravel docs 中的“扩展 Blade ”
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Blade;
class AppServiceProvider extends ServiceProvider
{
// ...
public function boot()
{
// ...
Blade::directive('hasStack', function ($expression){
return "<?php if (! empty(trim(\$__env->yieldPushContent($expression)))): ?>";
});
}
// ...
}
之后,在你的 blade 文件中:
@hasStack('ready_script')
<script>
$(document).ready(function(){
@stack('ready_script')
});
</script>
@endif
关于laravel - 检查 Blade 中 Stack 指令的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57592193/