私はいくつかのJSONを挿入する方法としてMonacoエディタ(https://github.com/Microsoft/monaco-editor)を実装しました。モナコエディタの状態をリセットする
ユーザーが「投稿」ボタンをクリックすると、エディタが有効になります。問題は、エディタがスイッチ機能内で有効になっていることです。一度ボタンをクリックすると、クライアントが同じボタンを再度クリックすると、最初に作成されたエディタの下にエディタが追加されます。エディタを "リセット"する方法はありますか?実際には追加することはありませんが、代わりに新しいものを作成するか、既に作成したものを使用しますか?
ここは私の現在のコードです。
require.config({ paths: { 'vs': '/scripts/monaco-editor/min/vs' } });
switch (id) {
case 'post':
$('#httpMethodGet').css('display', 'none');
$('#httpMethodPost').show();
require(['vs/editor/editor.main'], function() {
monaco.languages.json.jsonDefaults.setDiagnosticsOptions({
schemas: [{
uri: "http://myserver/bar-schema.json",
schema: {
type: "object",
properties: {
q1: {
enum: ["x1", "x2"]
}
}
}
}]
});
var jsonObject = [
'{',
' "$schema": "http://myserver/foo-schema.json"',
"}"
].join('\n');
window.editor = monaco.editor.create(document.getElementById('codeEditor'), {
value: jsonObject,
language: 'json',
theme: 'vs-dark',
scrollBeyondLastLine: false,
renderWhitespace: true
});
});
break;
だから私は、作成したものがある場合は、既に作成したのと同じを使用するか、新しいものを作る、このスイッチの例が入力されるたびにどちらかにwindow.editor = monaco.editor.create(document.getElementById('codeEditor'), {})
をしたいので、それは、(1怒鳴る追加されません。 s)がすでに作成されています。
私は解決策を見つけましたが、とにかくmonaco.editorを使用できないと考えたので、CodeMirrorに変更しました。あなたの応答に感謝 - 私は非常に有効なソリューションのように見える覚えているから:-) – Daniel