https://angular.io/api/core/ViewContainerRef
Если я хочу использовать Angular ViewContainerRef для move() определенного ребенка вокруг, есть ли у меня больше возможностей для его выбора, чем просто использование get(index)? Я вижу, что у него есть метод indexOf(ViewRef), но я не могу понять, как получить ViewRef в Angular, не возвращая его из ViewContainerRef.
Например, если я создаю ViewContainerRef, как показано ниже, как я могу получить ViewRef элемента #button, чтобы я мог переместить его, не будучи уверенным в его текущем индексе? Есть ли способ использовать кнопку ViewChild в этом сценарии?
@ViewChild('list', {read: ViewContainerRef}) list: ViewContainerRef;
@ViewChild('button') button;
<div #list>
...
<button #button>Toggle</button>
...
</div>
Один из способов получить доступ к ViewRef — это динамическое создание ViewContainer. Как видно из документации ViewContainerRef, вставка внутри ViewContainer возвращает ViewRef. Подробнее об этом можно прочитать здесь: blog.rangle.io/динамически-создание-компонентов-с-угловым-2
Кстати, есть аналогичный вопрос, когда парень хотел удалить компонент вместо того, чтобы перемещать его, как вам нужно, но это похоже: stackoverflow.com/questions/46376328/…





На самом деле, сейчас я даже не совсем уверен, что этот
@ViewChild(... {read: ViewContainerRef})вообще дает мне то, что я хочу, потому чтоget()ничего не возвращает ни для одного индекса. Так что мне придется немного повозиться.