AngularJS: забавная особенность bindonce

05 Jun 2014

Для AngularJS существует модуль bindonce, который позволяет сократить количество вотчеров и тем самым ускорить страинцу.

У этого модуля есть директива bo-attr, которая позволяет использовать в качестве атрибута элемента любое нужное нам значение. В качестве значения выступает выражение, которое будет проинтерпретировано и добавлено в dom.

Однако, у этой директивы есть забавное поведение, которое связано с особенностями интерпретации.

$scope.title = 'some text with $peci@l chars'  
$scope.title_ref = 'title'  
$scope.title_title_ref = 'title_ref'
<a bo-attr="" bo-attr-title="title">anchor1</a>  
<a bo-attr="" bo-attr-title="">anchor2</a>  
<a bo-attr="" bo-attr-title="''">anchor3</a>  
<a bo-attr="" bo-attr-title="">anchor4</a>

Как думаете, что выведется в каждом случае? :)

Фидл с примером.

Теги: angularjs javascript

Категории: JFF