Сообщение от destus
|
shtangen,
ну вообще нужно ещё это https://github.com/atularen/ngx-mona...mponent.ts#L23, только в useExisting заюзать PostTemplateEditComponent.
И formControlName="template" для ngx-monaco-editor не надо указывать. Вся обработка идет в обёртке. Соответственно ей и надо снаружи передавать эту директиву.
|
formControlName="template" использовал потому, что такой подход реализован в примерах на github.
Ваше решение не понял. До этого был вариант получить экземпляр редактора, завернутого в компонент и работать с ним напрямую без привязки к formControlName. Но такой вариант показался неудобным, так как реактивные формы позволяли упростить код.
Получалось что то типа такого:
<div class="scrolled-tab-content">
<ngx-monaco-editor
#editorComponent
class="template-editor"
[options]="editorOptions"
(onInit)="initMonaco($event)"
></ngx-monaco-editor>
</div>
export class PostTemplateEditComponent {
editor: any;
initMonaco(monacoEditor: any) {
this.editor = monacoEditor;
}
ngOnInit() {
this.dataService.getItem<PostTemplate>(this.currId)
.subscribe((data: PostTemplate) => {
this.componentData = new PostTemplate(data);
this.componentForm.patchValue({
code: data.code,
name: data.name,
is_active: data.is_active,
date_create: data.date_create,
date_modify: data.date_modify,
});
// Инициализируем редактор
this.editor.setValue(data.template);
});
this.$formSubscr = this.componentForm.valueChanges
.subscribe(value => {
this.applyFormValues(value);
}
);
}
Или вы имели в виду что-то другое? Если есть возможность, приведите небольшой пример. Спасибо.