Получить метаданные привязок свойства компонента NgModel

Я использую Angular 5.2.10. Предположим, у нас есть шаблон компонента, содержащий произвольную компоновку, которая имеет несколько привязок, например:

<mat-form-field>
    <input
        matInput
        type="text"
        placeholder="Some input 1"
        [(ngModel)]="object1.property1"> <-- This element and binding's object\property is what we need to get
</mat-form-field>
...
<app-component1
    [(ngModel)]="someParentObject.object2.property1"> <-- This component and binding's object\property is what we need to get
</app-component1>

Как получить список объектов, содержащих информацию обо всех таких привязках в компоненте? Т.е. список объектов вроде ниже:

export class BindingInfo {
    control: ElementRef | ComponentRef; // Class names just to explain. ElementRef is not necessarily Angular ElementRef, it could be any structure allowing to figure out an actual DOM node
    target: any; // Binding target (object1 and object2 in the above example)
    propertyName: string; // Property name of binding target used in the binding
}

Итак, это своего рода метаданные об Angular NgModel привязки компонента.

Может быть, это должна быть директива или код прямо внутри компонента. Я просто пытаюсь найти правильное направление для этой задачи.

Мне нужно что-то подобное для реализации общего моста между Angular и сторонней библиотекой моделей данных, которая делает некоторые вещи вне общего рабочего процесса Angular (например, генерирует сложные события проверки, когда Angular обновляет свойства сущностей). Я пытаюсь избежать шаблонного кода, например, помещая директиву в каждый элемент с NgModel привязка к нему, поэтому я должен подключиться к Angular в некоторых, вероятно, необычных местах.

0 ответов

Другие вопросы по тегам