JSFiddyhere、これはJavaScriptおよび/またはCodeMirrorの質問です。宣言中にプロパティとして定義された関数のプロパティを設定する方法
hint
ファンクションは、hintOptions
オブジェクトのプロパティとして定義されています。
コードブロックの外で定義することなく、その関数のプロパティを設定する可能性はありますか?
var editor = CodeMirror.fromTextArea(myTextarea, {
hintOptions: {
hint: function(cm, callback, options) {
return {
}
}
}
});
私はのように、無名関数を試してみました:
var editor = CodeMirror.fromTextArea(myTextarea, {
hintOptions: {
hint: (function(cm, callback, options) {
return {
}
})({
async: true
})
}
});
が、JavaScriptがまったく機能していないので、構文エラーのようです。
ヒント:機能
ヒンティング機能、上記指定されCodeMirror docs言及として
。
async
が正しく設定されているかどうかを確認するには
trueにヒンティング機能にasync
プロパティを設定することが可能であり、それは引数で呼び出されます。その場合には(コールバック、CM、オプション?):
- 開く 'クラスコード'
- タイプはCtrl +スペース 0に JSFiddle
- クリック
let testObj = { hintOptions: { hint: (function() { let hint = function(cm, callback, options) { log(options); return { from: cm.getDoc().getCursor(), to: cm.getaDoc().getCursor(), list: ['foo', 'bar'] } } hint.async = true; return hint })() } }; console.log("hint.async: " + testObj.hintOptions.hint.async);
私は得ることができた:
log
TEXTAREAはasync
プロパティと関数を作成するには、オブジェクト初期化子ではないundefined
あなたの目的が何であるか、またはあなたが解決しようとしているより高いレベルの問題を明確にしていない – charlietfl
このシナリオでJavaScriptを使用してそのプロパティを設定できるかどうかわかりません(コードがコンパクトなので)その関数を宣言からプロパティとして削除します。つまり、 'async'プロパティをどのように定義するのが最適です。 –
は 'ヒント:非同期関数... 'でなければなりません – charlietfl