<script src="matreshka.min.js"></script>
<input type="text" class="my-input">
<script>
var app = new Matreshka;
app.bindNode( 'x', '.my-input' );
app.x = 'Двустороннее связывание данных в JS? Серьезно?;
</script>
Матрешка - компактный, но мощный фреймвок, позволяющий строить одностраничные веб-приложения настолько легко, насколько возможно:
- Двустороннее связывание в JavaScript коде. Никакого {{нового.синтаксиса}} в HTML файлах.
- Матрешка проста. Серьезно. Не нужно читать тонны статей, чтоб начать с ней работать.
- Произвольная архитектура. Вы сами выбираете способ структурирования разрабатываемого приложения.
- Генерировать событие
remove
иmodify
, когда из экземпляраMatreshka.Object
удаляется ключ, отвечающий за данные - Флаг
force
для событийMatreshka.Array
(на случай, если изменений не произошло) - Позволить методу
Matreshka#off
удалять делегированные DOM события с определенным селектором - Сделать рефакторинг методов
Matreshka#_on
иMatreshka#_off
- Удалять обработчик события из списка обработчиков при использовании метода
Matreshka#once
- Свойство байндера
destroy
, которое вызывается при использованииMatreshka#unbindNode
- Флаг
private
, запрещающий прослушку делегированных событий другими экземплярами Матрешки - Генерировать сбытие
remove
когда удаляются данные изMatreshka.Object
(сейчас можно слушать удаление любых свойств, в том числе и не-данных, с помощью событияremove
) - Экспорт Матрешки с помощью синтаксиса ES6 (как это сделать, пока не понятно; SystemJS не предоставляет метода для эксорта)
Matreshka.to
, конвертирующий обычный многоуровневый объект или массив в экземплярыMatreshka.Array
иMatreshka.Object
- Найти способ получения родительских объектов при использовании делегированных событий (например, получить объекты
a
иb
при использовании ``a@b@c@change:x) this.bound.key
в качестве альтернативыthis.bound('key')
- Автоматическое тестирование всех методов
- Комментировать все части исходника
Matreshka.Array.of
Matreshka.Array.from
- Свойство
getValue
для односторонних байндеров изMatreshka.binders
Возможно, будет добавлено в следующих версиях
- Метод
toJSONString
- Метод
bindSandbox
, который принимает единственный аргумент-песочницу и опциональный объект события
Сайт с русскоязычной документацией
Сообщить о проблеме, если не знаете английского
Автор: Андрей Губанов [email protected]
Лицензия: MIT License