bindonce с ng-repeat вызывает ошибки

Я пытаюсь использовать bindonce с ng-repeat и это вызывает ошибку:

Контроллер 'bindonce', требуемый директивой 'ngRepeat', не найден!

Вот div, вызывающий проблему:

<div bo-if="transcripts.userIsAuthorizedForCourseTranscripts" bindonce ng-repeat="module in transcripts.modules">
...
</div>

1 ответ

Решение

Когда у вас есть ng-repeat, он фактически создает элемент из клона. Это означает, что для всего повторения новый элемент имеет как bo-if, так и bindonce. Кажется, что вы хотите сделать повторение, только если у вас есть полномочия.

Так что если вы хотите сделать только повтор, если transcripts.userIsAuthorizedForCourseTranscripts === true тогда вы бы вложили это так:

// This assumes bindonce is declared above
<div bo-if="transcripts.userIsAuthorizedForCourseTranscripts">
    <div bindonce ng-repeat="i in stuff">
        #This area has bindonce using i
    </div>
</div>

Я также сделал скрипку, показывающую это дело http://jsfiddle.net/49c5C/1/

Надеюсь, это помогло!

Другие вопросы по тегам