Как можно, чтобы функция onDidChangeModelContent () Монако запускалась при каждом нажатии клавиши? - PullRequest
0 голосов
/ 23 ноября 2018

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

const editor = monaco.editor.create(document.getElementById("container"), {
    value: "function hello() {\n\talert('Hello world!');\n}",
    language: "javascript"
});

editor.onDidChangeModelContent = e => {
    console.log(editor.getValue());
};

Я вижу только записи консоликогда я автоматически заполняю предложение Intellisense с помощью вкладки, а не при каждом нажатии клавиши.Есть ли другой слушатель событий, который я должен использовать, или какой-то другой метод, который я должен попробовать?

1 Ответ

0 голосов
/ 23 ноября 2018

разобрался;код примера использовал onDidChangeModelContent() неправильно.Чтобы установить прослушиватель событий, клиентский код должен вызывать onDidChangeModelContent(), а не устанавливать его.Этот код работает:

editor.onDidChangeModelContent(e => {
    console.log(editor.getValue());
});
...