javascript - 在 Laravel Blade 中循环并显示图像,更改旧的 Angular 代码

标签 javascript php angularjs laravel

我正在尝试更改在我们网站(在 Laravel 中)的图像上进行的 Angular 重复。我正在从所有内容中删除 Angular ,并尝试在 Blade 中的 laravel 循环中完成所有操作。

我成功地更改了所有内容以与我们的 Controller 一起使用,并且正在收集图像名称,但在前端它只显示图像名称而不是图像本身。

这是来自 Angular 的原始(工作代码):

<li ng-repeat="i in x.image_names track by $index"><a href="/imagelib/mediums/{{::i.split(',')[0] }}" target=_blank><img ng-src="/imagelib/mediums/{{::i.split(',')[0] }}" style="width: 100%; height: auto;" /></a><span class="uk-text-center" style="padding: 0 0 5px;">{{ ::i.split(',')[1] }}</span></li>

这是我的新代码(显示正确的图像名称,但仅显示名称而不是实际图像):

@foreach ($pgroup->image_names as $image_name)
<li><a href="/imagelib/mediums/{{ $image_name }}" target=_blank><img ng-src="/imagelib/mediums/{{ $image_name }}" style="width: 100%; height: auto;" /></a><span class="uk-text-center" style="padding: 0 0 5px;">{{ $image_name }}</span></li>
@endforeach

我在从 Angular 到 Laravel 的转换过程中是否忽略了一些会导致图像不显示的东西?

最佳答案

首先,需要将img标签中的ng-src替换为src:

<img src="/imagelib/mediums/{{ $image_name }}" />

然后,由于 $image_name 包含 CSV,因此您需要删除图像名称。你可以这样做:

substr($image_name, 0, strpos($image_name, ','));

如果你想从$image_name中提取第二个值,你可以这样做:

substr($image_name, strpos($image_name, ',') + 1);

关于javascript - 在 Laravel Blade 中循环并显示图像,更改旧的 Angular 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47144727/

相关文章:

javascript - AngularJs 指令将用户输入作为字符串并将其重新格式化以交替大小写。例如,计算机变成了计算机

javascript - Nodejs Promise 设计中的内存泄漏?

php - 在 Magento 观察器中获取 POST 数据

php - mod_rewrite 将请求发送到正确的位置,但未加载 CSS 文件?

angularjs - 通过单击项目在表行之间添加新元素

javascript - 如何更改选定的元素类名称

javascript - Jquery Mobile(SPA)禁用浏览器后退按钮并刷新?

javascript - 从 JSON 模式生成 JavaScript 类

javascript - 将 AJAX 响应显示到输入字段中

javascript - 使用php检查AngularJS网页上是否存在某个字符串