Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
<input type="text" ng-model="somevar.somefield"/>AngularJS works great with other technologies. Add as much or as little of AngularJS to an existing page as you like. Many other frameworks require full commitment. This page has multiple AngularJS applications embedded in it. Because AngularJS has no global state multiple apps can run on a single page without the use of iframes. We encourage you to view-source and look around.
<ul ng-include="'your/dynamic/list'">
<li>seo-friendly item1</li>
<li>seo-friendly item2</li>
</ul>
<script type="text/ng-template" id="your/dynamic/list">
<li ng-repeat="item in items" ng-bind="item.name"></li>
</script>
В совокупности такой механизм дата-биндинга создает настолько комплексно сложную систему, что другие ребята решили разрубить Гордиев узел и применить принципиально иной подход.
По вашей ссылке ещё не реализованная фича (бета).Фича реализованная и законченная, я активно ей пользуюсь в текущем проекте. Бета — это статус сборки, а не конкретных фич. Зная динамику развития ангуляра, могу предположить, что 1.3 выйдет в stable в течение месяца-двух. Но в любом случае, вот еще вариант импровизации на тему: github.com/Pasvaz/bindonce
Очевидный минус этого подхода — производительность. Хотя и здесь есть небольшое исключение: например, при пакетном обновлении сразу большого количества данных проверка выполняется всего один раз в конце, а не при каждом изменении каждого из отслеживаемых объектов, как это происходит в первом случае. Но в целом, это тем не менее минус, так как при изменении всего одной переменной выполняется dirty check всех данных.
Нужно лишь понять, насколько сильны потери производительности.
Агнуляр умудряется тормозить и требовать применения «приёмов» там, где более толковые решения даже не затыкаются.
Ключевое отличие AngularJS от Knockout