Показать сообщение отдельно
  #3 (permalink)  
Старый 11.12.2019, 13:08
Интересующийся
Отправить личное сообщение для shtangen Посмотреть профиль Найти все сообщения от shtangen
 
Регистрация: 21.08.2019
Сообщений: 11

Сообщение от 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);
			}
		);
	}


Или вы имели в виду что-то другое? Если есть возможность, приведите небольшой пример. Спасибо.
Ответить с цитированием