Дисциплины - Проектирование динамических страниц

Динамика AlpineJS - Дирректива x-data

Все в Alpine начинается с директивы x-data, которая определяет фрагмент HTML как компонент Alpine и предоставляет реактивные данные для ссылки на этот компонент.

Свойства, определенные в директиве x-data, доступны всем дочерним элементам. Даже внутри других вложенных компонентов x-data.vНапример:

<div x-data="{ foo: 'bar' }">
  <span x-text="foo"><!-- Отрендерит как: "bar" --></span>

  <div x-data="{ bar: 'baz' }">
    <span x-text="foo"><!-- Отрендерит как: "bar" --></span>

    <div x-data="{ foo: 'bob' }">
      <span x-text="foo"><!-- Отрендерит как: "bob" --></span>
    </div>
  </div>
</div>

Поскольку x-data оценивается как обычный объект JavaScript, то помимо переменных в нём можно хранить методы и даже геттеры. Например, давайте выделим поведение «Переключить содержимое» в метод x-data.

<div x-data="{ open: false, toggle() { this.open = !this.open } }">
  <button @click="toggle()">Переключить содержимое</button>

  <div x-show="open">Содержимое...</div>
</div>

Иногда удобно реализовать один метод, который возвращает данные на основе другого состояния, такие методы в JavaScript называются геттерами.

<div
  x-data="{
    open: false,
    get isOpen() { return this.open },
    toggle() { this.open = !this.open },
}"
>
  <button @click="toggle()">Переключить содержимое</button>

  <div x-show="isOpen">Содержимое...</div>
</div>

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться
00421-00422 ИИТ БГУИР
00423 ИИТ БГУИР
10421-10422 ИИТ БГУИР
10423 БГУИР
20421 БГУИР
30421 БГУИР
30423 БГУИР


Изображения Видео

1. JavaScript. Функциональное программирование. Лекция 2. Преобразование данных <iframe width="560" height="315" src="https://www.youtube.com/embed/EBKzRg4aTro" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
2. JavaScript. Функциональное программирование. Лекция 2 (продолжение) <iframe width="560" height="315" src="https://www.youtube.com/embed/phyt4PFk6Pc" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
3. HTML5 http://erud.by/files/books/HTML5.docx
4. ООП в JavaScript http://erud.by/object_orient_program/586
5. Фоновое видео jQuery http://johnpolacek.github.io/BigVideo.js
Учебная программа