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?

questionAnswers(2)

yourAnswerToTheQuestion