Краткий справочник

Шпаргалка по Ractive.js

Краткое руководство по Ractive.js: двустороннее связывание данных, шаблоны mustache, вычисляемые свойства и архитектура компонентов.

· Опубликовано

Ractive.js — шаблонная библиотека UI, обеспечивающая двустороннее связывание данных, анимационные переходы и реактивность в DOM.

Инициализация

const ractive = new Ractive({
  target: '#app',
  template: '#my-template',
  data: {
    greeting: 'Hello',
    user: { name: 'Alice' },
    count: 0
  }
});

Синтаксис шаблонов (Mustache)

<!-- Вывод данных -->
<h1>{{greeting}}, {{user.name}}!</h1>

<!-- Вывод сырого HTML без экранирования -->
<div>{{{unescapedHtml}}}</div>

<!-- Двустороннее связывание ввода -->
<input value="{{user.name}}" />

<!-- Условные операторы -->
{{#if count > 0}}
  <p>Товаров в корзине: {{count}}</p>
{{else}}
  <p>Ваша корзина пуста.</p>
{{/if}}

<!-- Итерация по спискам -->
<ul>
  {{#each items:i}}
    <li>{{i + 1}}: {{this.name}}</li>
  {{/each}}
</ul>

Методы экземпляра

// Чтение и запись реактивных данных
ractive.get('user.name');        // => "Alice"
ractive.set('user.name', 'Bob'); // Updates DOM immediately

// Вспомогательные функции для чисел
ractive.add('count', 1);
ractive.subtract('count', 1);

// Переключение логического значения (boolean)
ractive.toggle('isVisible');

// Отслеживание изменений
ractive.observe('user.name', (newValue, oldValue) => {
  console.log(`Имя изменено на ${newValue}`);
});

Обработка событий

<button on-click="@this.fire('submitForm', user)">Отправить</button>
ractive.on('submitForm', (event, user) => {
  console.log('Отправленный пользователь:', user);
});

Ссылки и документация

Связанные темы