Użycie filtru na atrybucie dyrektywy powoduje nieskończoną pętlę w cyklu $ digest
Próba użycia filtra dla dyrektywy z zakresem izolatu:
<div tags="p.tags | refTags"></div>
Powoduje nieskończoną pętlę w cyklu $ digest:
Ten błąd występuje, gdy model aplikacji staje się niestabilny, a każdy cykl $ digest powoduje zmianę stanu i kolejny cykl $ digest. Angular wykrywa tę sytuację i zapobiega nieskończonej pętli powodującej, że przeglądarka przestaje odpowiadać.
.directive 'tags', ->
restrict: 'A'
scope:
tags: '='
templateUrl: 'partials/tags.html'
.filter 'refTags', ->
(tags) ->
['a filtered', 'array of values']
partials / tags.html
<ul>
<li ng-repeat="tag in tags">{{tag.tag}}</li>
</ul>
p.tags w kontrolerze
p.tags = ['HTML5', 'CSS', 'JavaScript', 'Angular JS', 'Backbone JS', 'Node JS', 'SASS + Compass', 'Oragami', 'Running', 'Cat Food', '#catfood']
Czy to zachowanie jest normalne?
Czy filtr nie może być użyty do przekazywania wartości do zakresu izolowania dyrektywy?Czy istnieje obejście tego problemu? Muszę filtrować wartości tablicCzy istnieje inne rozwiązanie o innej konstrukcji?