Я пытаюсь создать что-то вроде freecodecamp на Angular 6 и добавить в свой проект редактор кода Монако , но теперь я могу только сохранять код, но не запускать.
Я хотел бы иметь возможность сохранить результат выполнения кода в переменную, чтобы сравнить правильность и ответ, а также то, что написал пользователь.
Я думаю, что могу использовать WebWorkers для выполнения этого кода, но как?
Компонент шаблона:
<ngx-monaco-editor
[options]="editorOptions"
[(ngModel)]="code">
</ngx-monaco-editor>
<button
(click)="clickSave()"
color="primary"
mat-raised-button>
Save
</button>
И класс:
import {
ChangeDetectionStrategy,
Component,
Input,
OnInit,
} from '@angular/core';
@Component({
selector: 'app-code-editor',
templateUrl: './code-editor.component.html',
styleUrls: ['./code-editor.component.sass'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class CodeEditorComponent implements OnInit {
@Input() theme: string;
@Input() language: string;
public editorOptions;
public code = ``;
ngOnInit(): void {
this.fillEditorOptions();
}
public clickSave(): void {
localStorage.code = JSON.stringify(this.code);
}
private fillEditorOptions(): void {
this.editorOptions = {
theme: this.theme,
language: this.language,
};
}
}