- PVSM.RU - https://www.pvsm.ru -

Angular Light 0.6

Angular Light [1] — это самостоятельный клиентский MV(C/VM) фреймворк, который построен на идеях Angular.js и Knockout.js, и похож на упрощенный Angular.js

Основные изменения за последнее время:

  • Поддержка «совеременных» браузеров без зависимостей (12kb): Google Chrome, Firefox, IE9+ (для IE8 нужен jQuery)
  • Сделан модуль анимации [2], можно использовать CSS от Angular.js 1.2+
  • Одноразовый биндинг [2] — после получения первых данных $watch удаляется, для этого нужно дописать "::" в начало, например {{::variable}} вместо {{variable}}.
  • Сохранение результирующего списка в директиве al-repeat, после применения фильтра исходный список может изменится и иногда нужно получить результат, например для определения кол-ва элементов или для вывода «список пуст». Использовать можно так: al-repeat="item in list | filter store to variable", пример [3].
  • Появился «track by» для директивы al-repeat [4] — способ идентификации элементов в списке, работает по аналогии ng-repeat из Angular.js
  • Теги для al-app, позволяют делать биндинг разных частей DOM к одному scope. Бывает полезным когда на странице используется несколько разных фреймворков и не желательно «захватывать» весь документ, с помощью тегов приложение можно «раскидать» в разные места, пример [5].
  • В ф-ии $watch появилось событие $finishBinding, оно срабатывает после того как произойдет биндинг. Это можно использовать в место timeout в директивах (или контроллерах :) ).
  • Появилась возможность в любой момент сделать текстовую директиву статической с помощью env.finally()

Так же произведены оптимизации разных частей фреймворка, он потихоньку покрывается тестами — уже более 250 проверок, на данный момент фреймворк успешно используется в бою уже год.

Предыдущие статьи:

Автор: lega

Источник [9]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/64851

Ссылки в тексте:

[1] Angular Light: http://angularlight.org/

[2] модуль анимации: http://angularlight.org/doc/animation.html

[3] пример: http://jsfiddle.net/lega911/FVDJj/

[4] al-repeat: http://angularlight.org/doc/directives/al-repeat.html#ru

[5] пример: http://jsfiddle.net/lega911/93Ahp/

[6] «Ленивое» подключение директив и препроцессор: http://habrahabr.ru/post/212301/

[7] Управляем декларативным биндингом данных в HTML: http://habrahabr.ru/post/209108/

[8] Наследование директив: http://habrahabr.ru/post/208282/

[9] Источник: http://habrahabr.ru/post/229691/