#laravel #laravel-blade #alpine.js
Вопрос:
У меня есть петля x-for:
<template x-for="item in items" :key="item.id">
Внутри шаблона я называю свой компонент лезвия:
<x-card />
Как я могу передать vars из цикла Alpine JS в компонент blade?
Я видел это и пытался это реализовать:
<template x-for="item in items" :key="item.id">
<x-card ::title="item.title" />
....
Но я не могу вывести заголовок var внутри компонента blade.
Ответ №1:
AlpineJS-это JavaScript, следовательно, клиентская сторона. Блейд-это серверная часть. Подсказка, которую вы передали, описана в документах и предназначена только для того, чтобы предотвратить оценку оператора Blade, поскольку Blade также может обрабатывать переменные с одним двоеточием.
Если ваша цель-отобразить заголовок в виде текста на карточке, взгляните на x-текст. Вы должны быть в состоянии позвонить x-text="item.title"
. :title
следует установить атрибут заголовка для элемента.
Комментарии:
1. Я боюсь, что ваш ответ не отвечает на вопрос об альпийских вариациях компонентов лезвия.
2. Я не знаю, используете ли вы Livewire? Если так, то это было бы легко. В противном случае файлы cookie или запрос ajax на сервер могут позволить вам установить переменную в php и передать ее обратно в blade при повторном рендеринге. Как я уже сказал, ссылка, на которую вы ссылаетесь, делает не то, что вы, похоже, думаете, и Alpine не может просто «передавать» переменные (на стороне клиента ) серверу .