Я пытаюсь добавить элемент dom на страницу после возврата из запроса ajax. Элемент дома содержит Ui-директиву выбора, и я получаю эту ошибку:Динамическое добавление углового ui-select на страницу
Error: error:orphan
Orphan ngTransclude Directive
Я добавляю содержание к странице так:
var childDiv = $compile('<div>_contents_</div>')($scope);
parentDiv.append(childDiv);
где -contents- содержит пользовательский интерфейс -выберите директивы ниже:
<p>Selected: {{address.selected.formatted_address}}</p>
<ui-select ng-model="address.selected"
theme="bootstrap"
ng-disabled="disabled"
reset-search-input="false"
>
<ui-select-match placeholder="Enter an address...">
{{$select.selected.formatted_address}}
</ui-select-match>
<ui-select-choices repeat="address in addresses track by $index"
refresh="refreshAddresses($select.search)"
refresh-delay="0">
<div ng-bind-html="address.formatted_address | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
Любые идеи о том, как лучше это выполнить?
Почему бы не использовать 'ng-if' или что-то в этом роде? – akonsu
Надеюсь, я достаточно хорошо объяснил свою дилемму. Я добавляю клон div, который уже существует на странице, содержащий директивы ui-select. Я хочу скопировать содержимое html этого div и перекомпилировать их в новой области. – Csizzle
Итак, шаблон div, который уже существовал на странице, и я использовал для клонирования, уже скомпилирован, а атрибут ng-transclude применяется к шаблону. Вместо этого я решил отобразить часть сервера части контента и отправить обратно то, что является экземпляром __fresh__ html. Другим вариантом, который я мог бы использовать, было бы включение шаблона div вне сферы применения приложения, что казалось противоречивым. – Csizzle