Основы Vue.js

Основы Vue.js

Работа с Vue

Чтобы узнать об архитектуре Vue, мы начнем с импорта Vue в наш html файл. Самый простой простой способ - импортировать
Vue через официальный CDN. Мы можем сделать это, создав файл index.html и добавив <script> тег для загрузки Vue CDN в разделе <head> шаблона HTML,
как показано в следующем блоке кода:

<!DOCTYPE html>
<html>
 <head>
  <title>Vue.js project with CDN</title>
  <script src="https://unpkg.com/vue@3"></script>
 </head>
</html>

Браузер загрузит пакет Vue, используя CDN, указанный в
теге скрипта при загрузке страницы. После завершения вы можете использовать Vue
функций и начать писать код Vue.
Но сначала давайте посмотрим на экземпляр Vue.

Понимание экземпляра Vue

Как правило, каждое приложение Vue состоит только из одного корневого экземпляра Vue.
который можно создать с помощью метода Vue.createApp:

const vm = Vue.createApp({
  // options
})

Конструктор класса Vue принимает объект параметров для конфигурации и поведения компонентов. Мы называем этот подход Options API, и вы можете
использовать его для всех соответствующих компонентах Vue. Однако все они являются и считаются вложенными экземплярами Vue со своими собственными параметрами и свойствами.

vm — это термин, обычно используемый для обозначения модели представления, которая является абстракцией представления, который описывает состояние данных в модели. Связывание экземпляра Vue с vm поможет вам отслеживать ваш экземпляр Vue в блоке кода.

Чтобы движок Vue отображал экземпляр приложения, в нашем index.html
файле, мы объявляем элемент <div> внутри тега <body>, используя уникальный идентификатор или атрибут данных в качестве основной точки входа для приложения:

<body>
 <div id="vue-app"></div>
 <script>
   const vm = Vue.createApp({
     //Options
   })
 </script>
</body>

Чтобы отобразить приложение Vue в браузере, нам нужно вызвать vm.mount()
для монтирования корневого компонента к целевому HTML-элементу с использованием уникального
селектора. В этом примере это идентификатор со значением vue-app:

<body>
 <div id="vue-app"></div>
 <script>
  const vm = Vue.createApp({
  //Options
  })
  vm.mount('#vue-app')
 </script>
</body>

Теперь вы привязываете элемент div с id="vue-app" к новому Vue.

Далее давайте определим текст со значением «Начните использовать Vue.js сегодня!» и
добавьте его как свойство возвращаемого значения для метода данных в
варианты применения:

const vm = Vue.createApp({
  data() {
    return {
      text: 'Начните использовать Vue.js сегодня!'
    }
  }
})

В предыдущем примере кода data— это функция, которая возвращает объект содержащий локальное состояние (или локальные переменные) компонента. Мы
мы обсудим это подробнее далее.

Чтобы отобразить содержимое текста в DOM, мы используем синтаксис шаблона Vue,
представлен двойными фигурными скобками ({{}}), обернутыми вокруг реактивного
содержания. В этом случае мы используем {{ text }}, как показано в следующем коде:

<div id="vue-app">{{ text }}</div>

Движок Vue заменит свойство данных, помеченное text, и фигурные скобки, надписью «Начните использовать Vue.js сегодня!».

В теге <head> мы также можем использовать DOM API для создания экземпляра Vue приложения и привязать его к нашему целевому элементу (с помощью селектора ID
- #vue-app):

<head>
  <title>Vue.js CDN</title>
  <script src="https://unpkg.com/vue@3"></script>
  <script>
    document.addEventListener('DOMContentLoaded', function() {
       Vue.createApp({
         data(){
           return {
             text: "Start using Vue.js today!"
           }
         }
       }).mount('#vue-app')
    })
  </script>
</head>
<body>
  <div id="vue-app">{{text}}</div>
</body></body>

Результат одинаков для обоих подходов. Однако мы решительно не рекомендуем использовать DOMContentLoaded.

Хотя работа с CDN очень портативна, мы рекомендуем использовать package менеджеры в качестве метода установки Vue. Начиная с Vue 3 и выше, Vue
проекты используют Vite (или Vite.js) для инициализации и обработки кода. Вы можете получить более подробную информацию здесь: https://vuejs.org/guide/quick-start.html#creating-a-vueapplication.

Использование Vite очень полезно для управления другими сторонними библиотеками и созданием оптимизированного кода для production. Далее мы рассмотрим пример, работы с Vite.