Я пытаюсь использовать редактор Microsoft Monaco с угловым 2. Мой компонент
declare const monaco: any;
declare const require: any;
export class MonacoEditorComponent implements AfterViewInit {
ngAfterViewInit() {
let onGotAmdLoader = () => {
// Load monaco
(<any>window).require(["vs/editor/editor.main"], () => {
this.initMonaco();
});
};
// Load AMD loader if necessary
if (!(<any>window).require) {
let loaderScript = document.createElement("script");
loaderScript.type = "text/javascript";
loaderScript.src = "vs/loader.js";
loaderScript.addEventListener("load", onGotAmdLoader);
document.body.appendChild(loaderScript);
} else {
onGotAmdLoader();
}
}
initMonaco() {
let myDiv: HTMLDivElement = this.editorContent.nativeElement;
let options = this.options;
options.value = this._value;
options.language = this.language;
this._editor = monaco.editor.create(myDiv, options);
}
}
Итак, в основном, я пытаюсь сначала загрузить monaco, проверив условие if в window.require, после загрузки основного файла editor.main monaco я пытаюсь создать редактор, используя monaco.editor.create(). Но даже после загрузки editor.main.js он не может разрешить ошибку monaco. Я попытался отладить и увидеть значение monaco в функции initMonaco, оно отображается как недоступное. Я делаю что-то неправильно?
Примечание: vs уже разрешен к monaco-editor/min/vs, и он также может загрузить файл js в браузер. Кроме того, все используемые переменные, такие как параметры и _value, объявлены в компоненте (я удалил их отсюда).
monaco
? - person RIYAJ KHAN   schedule 06.03.2017