Как связать Vue.js с php?

Как передать данные в шаблоны Vue из php? Компонент вью подключается к странице через src в script. Как например вы подставляете значения в компонент vue из php?

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Feed</title>
</head>
<body>

<div id="app">
    <feed></feed>
</div>

<script src="/bundle.js"></script>

</body>
</html>

Весь основной код шаблона описан в bundle.js. Сама страница прогоняется через php движок для подстановки значений через шаблонизатор(Было во времена без Vue, и не очень хочется переделывать подстановки данных в шаблоны с сервера php). Не очень хочется раскрывать bundle.js и вставлять код на страницу напрямую(естественно так будет подстановка через <?=$var?>).

Или лучше связать front с backend через ajax запросы к api?
  • Вопрос задан
  • 6113 просмотров
Решения вопроса 1
nexmean
@nexmean
погромист
>Или лучше связать front с backend через ajax запросы к api?
This.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
gzhegow
@gzhegow
Думал, стану умнее, когда адаптируюсь, но нет
Пользуют вот такой вариант:
из php
echo sprintf("<script>var json_data = '%s';</script>", json_encode($arr));

иногда можно всунуть в виде тега в html какой-нибудь base64, чтобы потом из яваскрипта распознать. ну разные способы есть.
Ответ написан
ajaxtelamonid
@ajaxtelamonid
Laravel
На php генерится шаблон страницы вместе с блоком script , где в переменную, например, windows.init_data присваивается json. В js-приложении данные из window.init_data передаются в стор или в стейт главного компонента.
Ответ написан
Комментировать
@adrontek
в HTML
<input type="hidden" id="data" value="<?= json_encode(['a1' => $a1, 'a2' => $a2]) ?>">

в JS
JSON.parse(getElementById('data').value);

Наверно не самое лучшее решение, но плюсов достаточно
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы