Добавлять директивы в селектор компонента, когда он объявлен - Angular 7 - PullRequest
1 голос
/ 10 мая 2019

Я изучаю Angular и динамически создаю компоненты одним нажатием кнопки.Я пытаюсь использовать функцию перетаскивания Angular Material, чтобы перетащить эти созданные компоненты, чтобы отсортировать их.У меня есть следующий код в html моего базового компонента:

<div cdkDropList style="margin: 20px" (cdkDropListDropped)="drop($event)">
    <div #container></div>
</div>

И код Typescript имеет следующий код:

@ViewChild('container', {read: ViewContainerRef})
  container: ViewContainerRef;

const childComponent = this.componentFactoryResolver.resolveComponentFactory(CustomComponent);
const component = this.container.createComponent(childComponent);

До сих пор мне удалось создать компоненты динамически, имне удалось получить их как потомок от div с директивой "cdkDropList".

Что я не могу сделать, так это получить компоненты, созданные с помощью директивы cdkDrag, объявленной в имени элемента.Например:

<app-CustomComponent cdkDrag>

Я изучаю @HostBinding и могу создавать компоненты с атрибутами.Не в состоянии понять, как использовать его для объявления директив.Я уверен, что упускаю что-то очевидное, но пока я застрял.Пожалуйста, помогите.

...