Я пытаюсь обернуть SharePoint People Picker в директиве AngularJS. Чтобы инициализировать сборщик людей, мне нужно разместить div на странице, предоставить ему идентификатор и передать этот идентификатор в функцию SharePoint.Директива AngularJS до тех пор, пока не будут отображены шаблоны
я это работает с основной директивы, как это:
<sp-people-picker id="test"></sp-people-picker>
Но я хочу, чтобы директива, чтобы быть полезной в любом месте, в том числе и в повторяющемся разделе:
<div ng-repeat="item in dataset">
<sp-people-picker id="test-{{ $index }}"></sp-people-picker>
</div>
Это терпит неудачу. Я прошел через код, чтобы понять, что происходит не так, и обнаружил, что, когда я с удовольствием вызывал функцию выбора людей SharePoint с помощью «test-0», он не смог найти элемент. document.getElementById("test-0")
возвращенный null. Причина этого в том, что у моего div все еще был идентификатор «test - {{$ index}}» и получает только «test-0» ПОСЛЕ СОГЛАШЕНИЯ моей директивы.
Как я могу убедиться, что моя директива работает после того, как {{}} была отображена?
(Не мечение с SharePoint в качестве материала SharePoint только контекст, это не на самом деле отношения к этому вопросу, я пытаюсь решить)
Я временно получил эту работу, используя SetTimeout с 1мс, чтобы задержать мой код. Я бы предпочел более хороший метод, но это работает. –