JSFiddyhere, 이것은 JavaScript 및/또는 CodeMirror 질문입니다.선언 중에 속성으로 정의 된 함수의 속성을 설정하는 방법
아래 코드에서 hint
함수는 hintOptions
개체의 속성으로 정의됩니다.
코드 블록 외부에 정의하지 않고 해당 기능의 속성을 설정할 수 있습니까?
var editor = CodeMirror.fromTextArea(myTextarea, {
hintOptions: {
hint: (function(cm, callback, options) {
return {
}
})({
async: true
})
}
});
을하지만 자바 스크립트가 전혀 작동하지 않기 때문에 구문 오류 것 같다 :
var editor = CodeMirror.fromTextArea(myTextarea, {
hintOptions: {
hint: function(cm, callback, options) {
return {
}
}
}
});
나는 같이 익명 함수로했습니다. CodeMirror
docs로서 언급
:
힌트 : 함수
힌트 기능, 상기 지정된. (cm, 콜백 옵션?)이 인수로 호출 될 경우 사실에 힌트 기능에
async
속성을 설정할 수 있습니다async
이 올바르게 설정되어있는 경우
확인하려면 :
- 를 열고 '클래스 코드'
- 유형 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);
:
async
속성이 작동하는 것 같다으로 log
텍스트 영역은 함수를 만드는 개체 initialiser하지undefined
당신의 목적이 무엇인지 또는 어떤 상위 레벨의 문제를 해결하려고하는지 분명하지 않음 – charlietfl
이 시나리오에서 JavaScript로 해당 속성을 구성 할 수 있는지 (코드가 압축되어 있는지) 알 수 없거나 함수에서 선언에서 벗어나 속성을 속성으로 제거합니다. 즉, 'async' 속성을 정의하는 가장 좋은 방법입니다. –
은 '힌트 : 비동기 함수 ...'여야합니다. – charlietfl