Задать вопрос
dilikpulatov
@dilikpulatov
веб-программист

Можно ли использовать VueJs вместо Jquery в проектах Yii2?

Здравствуйте!
Хотел использовать VueJs в своем Yii2 проекте
Сборки собираю с Webpack ом, но это первый проект в которому я выбрал Vuejs вместо jQuery.
Поэтому возникает вопрос: Правильно ли я сделаю, подключение библиотеки, использование Vue шаблоны и т.д
Например
Допустим есть список новостей в фронте, которых я вывожу с php
// news.php
<?php
 $news = [
   ["id" => 1, "name" => "News 1"],
   ["id" => 2, "name" => "News 2"],
   ["id" => 3, "name" => "News 3"],
   ["id" => 4, "name" => "News 4"]
 ];
?>
<h1>News</h1>
<div id="app">
  <? foreach ($news as $item): ?>
    <h1
      @click="openDialog(<?=$item['id']?>)"
    >Name: <?=$item["name"];?></h1>
  <? endforeach; ?>
</div>


// index.js
import Vue from './modules/vue.min';

document.addEventListener("DOMContentLoaded", function(event) {
  new Vue({
    el: '#app',
    data: {
      name: 'News list'
    },
    methods: {
      openDialog(id){
        console.log("ID: ", id);
      }
    },
    mounted(){
      console.log("VUE START");
    }
  });
});


код работает так как я хочу....но
правильно ли я делаю?
Может есть вариант лучший этого....подскажите пожалуйста.

И кстати есть одна проблема. Исходный код отображается вот таким
Думаю это не очень то хороша. В СЕО не будет проблема?
<div id="app">
      <h1
      @click="openDialog(1)"
    >Name: News 1</h1>
      <h1
      @click="openDialog(2)"
    >Name: News 2</h1>
      <h1
      @click="openDialog(3)"
    >Name: News 3</h1>
      <h1
      @click="openDialog(4)"
    >Name: News 4</h1>
  </div>
  • Вопрос задан
  • 1591 просмотр
Подписаться 2 Простой 6 комментариев
Решения вопроса 1
myks92
@myks92 Куратор тега Yii
Нашёл решение — пометь вопрос ответом!
Используйте NUXT (SSR) для СЕО. А Yii используйте как API.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08
Тут все что тебе понадобится
https://www.yiiframework.com/extension/yii2-vue-js
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы