问题标签 [laravel-components]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
604 浏览

php - Laravel 组件中的逻辑

我有一个 laravel 组件

我在刀片模板中渲染

有时我只有一个H1。如果我没有子标题,如何删除标记?

0 投票
0 回答
245 浏览

laravel - 新刀片组件 Laravel 7

我创建了这个新的 Laravel 组件,如何使用 {{ $name }} 刀片变量来使用自定义 foreach?

查看 -> 组件

资源 -> 组件

-> 意见

谢谢 :)

编辑:我解决了这个问题,即使我想有一个更好的解决方案

0 投票
1 回答
221 浏览

php - 由于组件创建在不同的文件夹中,Laravel 组件类被忽略

在此处输入图像描述

我使用php artisan make:component Admin.Newclubform 命令在管理文件夹中创建组件。视图部分工作,但类被忽略。

php artisan make:component Admin.Newclubform 创建所有类和视图。类由 artisan 命令生成 在此处输入图像描述

0 投票
1 回答
612 浏览

javascript - @include Laravel Blade 模板以使用 Javascript 追加

我试图在 PHP 和 Javascript 中重用相同的 HTML 代码。在 PHP 中,我使用 Laravel 的组件机制来加载传递必要参数的文件。

它工作得很好。

在页面底部,我使用如下 jQuery:

一切正常。每次单击时,同一个组件都会附加我传递的相同数据。

但是,如果我替换以下行的静态值:

使用我拥有的动态值,使用 Javascript 模板文字:

页面因 Laravel 的 Parse 错误而停止渲染:

ErrorException
使用未定义的常量 imageId - 假定为“imageId”(这将在 PHP 的未来版本中引发错误)

选择?

我已经看到了一些 我个人不喜欢的在 Javascript 中加载刀片的AJAX 方法。

调试

如果我注释掉该行,它仍然会抛出相同的错误,直到我完全删除该行。因此,我怀疑 JS 模板文字 () 的花括号${}被解析为 Laravel 刀片语法 ( {{}})。

请注意,`我尝试使用单引号和双引号(如这里所示)代替反引号 ( ),但由于它们与 HTML 代码冲突而出现错误。

我已经阅读了有关Blade 和 JS 框架的 Laravel 文档,但是 IMO,无论是@语法@verbatim还是出于完全相反的目的,都不会为我服务。

更新

我最终想出了一个在 JavaScript 中使用刀片的替代方案:

使用此代码,我可以在没有动态数据的情况下完美地拥有 HTML。首先console.log是完美地显示 HTML:

现在,到目前为止,模板还不是 Laravel 刀片/组件,所以我必须将我的动态数据放到它上面。当我试图将我的动态数据放到 HTML 中时,HTML 将完全被修改后的<img>字符串替换。第二个console.log输出是:

0 投票
1 回答
43 浏览

laravel-8 - Laravel 不能从组件类返回集合/数组到组件

如果我在渲染方法中使用 dd(),则输出到屏幕

这是 ProductSelect 组件类。试过...

  1. view('components.product-select',['products'=>$products]);
  2. view('components.product-select',compact('products'));
  3. view('components.product-select',['products'=>$products->toArray()]);
  4. view('components.product-select')->with(['products'=>$products->toArray()]);

和其他几个

. 我很困惑,因为 DD 将发送到屏幕。但是当我在视图中使用变量时,它没有拾取它。

product-select.blade 在这里。我试图在这里用产品的输出创建另一个组件。我认为在这里创建另一个组件并不重要,因为我可以只用一个回声就取出那段代码,但什么也没有发生。

有什么想法吗?

0 投票
0 回答
30 浏览

laravel - 将 css/js 文件从一个组件推送到另一个组件

我创建了 2 个组件:layouts/app.blade.phpnavigation.blade.php

layouts/app.blade.php看起来像这样:

navigation.app.blade看起来像这样:

问题是我的@push()方法不起作用。据我了解,正在推送的组件也应该扩展布局,但这是不可能的,因为导航不应继承所有布局的内容。我有没有可能将 css/js 文件从一个组件发送到另一个组件而不扩展它?

谢谢!

0 投票
2 回答
552 浏览

laravel - Laravel 组件:{{ slot }} 中的默认内容

在老式的 Laravel 刀片模板中,我们曾经以@section('section-name')以下方式使用:

然后扩展该模板:

在上面,我渲染的 HTML 输出如下所示,因为'heading'扩展文件中的“缺失”部分意味着我们默认返回模板中的内容:

但是在新的组件做事方式中,我这样做:

如果您还没有收集,问题是:如何为插槽的内容设置默认值,这样如果扩展组件/模板中未提供它,它会回退到该默认值?

(我已经完成了搜索,但无法找到之前提出的相同问题)


编辑:

我应该补充一点,我已经看到了解决方案(在 Laravel 文档中):

但这似乎只有在默认值是一个易于管理的短字符串时才合适。如果默认值是一个长的 HTML 流,那么它就不能满足我的需要。


编辑2:

重申一下:问题的重点是默认内容可能是一长串 HTML。通过传入一个字符串(无论是否格式化为 HTML)来解决问题并不适合我的实际需求。

0 投票
0 回答
151 浏览

laravel - Laravel 8:如何将数据从祖父组件传递给孙子?

我最近在我的一门课程中开始使用 Laravel,这些组件看起来非常有前途。不过,我遇到的一个问题是将数据从控制器传递到嵌套组件。

这是我的(过于简单的)设置:

mainframe.blade.php(用作我的布局模板):

master-header.blade.php :

最后是 home.blade.php,它“扩展”了我的布局页面:

现在,我认为它就像简单地将 $headerText 内容通过我的控制器一样简单,如下所示:

...但显然,该变量仅传递给初始的“主页”视图,但由于出现错误,因此并未一直传递到我的标题组件。

我一直在阅读 View Composer 作为解决方案,但我认为可能有一种更简单的方法来做到这一点。

那么,正如标题中所问的,我如何将数据从祖父组件传递到他的孙子组件之一?

谢谢 !

0 投票
1 回答
41 浏览

laravel - 在 Laravel 组件中,如何删除默认类?

在 Laravel 组件中,您可以指定默认类并将它们与传入的额外类合并,如下所示:

但是如果我想删除那个“text-white”类呢?如何传入要从组件中排除的类列表?

0 投票
3 回答
372 浏览

laravel - 将数组作为属性传递给刀片自定义组件

input在 Laravel 中挑战了一个通用组件,如下所示:

我想在刀片模板中按如下方式使用它:

问题是当我像上面的例子一样传递一个数组对象时,它似乎破坏了视图,但是当我发送一个这样的变量时:

有没有办法按原样传递数组,而不必创建变量并发送它,这样我就不会添加不必要的 @php 指令?