Laravel @stack 在组件中

标签 laravel laravel-5 components laravel-5.6 laravel-blade

我在我的 Laravel 应用程序中创建了一个 tile 组件,它在多个页面上用于显示/链接到食谱(注意:这不是 angular、vue 或 react 组件)。

在我的 tile 组件中,我将一个 css 文件“推送”到一个名为 styles 的堆栈:

@push('styles')
  <link href="{{ mix('css/tile.css') }}" rel="stylesheet">
@endpush

在我的 head.blade.php 中输出了 styles 堆栈:

@stack('styles')

每次调用/渲染我的组件时,tile.css 文件都会添加到我的style 堆栈中。这就像一个魅力,我的瓷砖是根据我的 tile.css 文件设计的。唯一的问题是 tile.css 文件被多次添加到 styles 堆栈。

有没有办法防止/检查 styles 堆栈中的双重插入,或者我是否必须手动将 tile.css 文件添加到每个页面/ Blade 瓦片组件生成的文件?

最佳答案

pushonce 是在 Laravel 7 中引入的。

@pushonce('styles')
  <link href="{{ mix('css/tile.css') }}" rel="stylesheet">
@endpush

关于Laravel @stack 在组件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52367200/

相关文章:

laravel - 如何为创建的用户发送电子邮件验证?

php - 如何使用 Laravel 的 Paginate() 输出当前迭代?

laravel - 带破折号的奇怪 Laravel 查询生成器行为

php - Laravel 将数据数组附加到数据透视表

Laravel Eloquent whereIn 按给定顺序返回

javascript - 复选框作为 yajra 数据表中的标题

php - Laravel 5.1 - 使用路由组时出现重复的前缀

javascript - Angular 4如何在兄弟模块组件中使用另一个模块组件

ReactJS 沿层次结构覆盖或编辑上下文

angular - 以 Angular 使用来自其他组件的警报消息