Получите ViewContainerRef, к которому динамический компонент возможно присоединен - PullRequest
0 голосов
/ 01 октября 2019

Я знаю, что динамические компоненты можно присоединить к ViewContainerRef, выполнив это:

// assume these vars were previously created, and they have the following types:
// dynamicallyCreatedComponent: ComponentRef
// viewContainerRef: ViewContainerRef

viewContainerRef.insert(dynamicallyCreatedComponent.hostView)

Дело в том, что это не работает, если dynamicallyCreatedComponent присоединен к другому ViewContainerRef(мне кажется, что ViewRef s может быть присоединен только к одному ViewContainerRef одновременно). Поэтому мы должны сделать что-то вроде:

const indexInOldViewContainer = oldViewContainerRef.indexOf(dynamicallyCreatedComponent.hostView)
oldViewContainerRef.detach(indexInOldViewContainer)
viewContainerRef.insert(dynamicallyCreatedComponent.hostView)

Моя проблема : мне нужно иметь возможность вставить компонент в (новый) viewContainerRef, но я неУ меня нет немедленного доступа к oldViewContainerRef, который мне нужно от него отсоединить. Было бы замечательно, если бы был какой-то способ получить его от ComponentRef, делая что-то вроде

const oldViewContainerRef = dynamicallyCreatedComponent.hostView.enclosingViewContainerRef

Существует ли что-то подобное?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...