从对象函数获取 CodeMirror 值
Getting CodeMirror value from an object function
我有以下代码:
var examples = {
'style': {
create: function (div, ref) {
var codeMirror = CodeMirror(div, {
lineNumbers: true,
mode: 'css'
});
this.firepad = Firepad.fromCodeMirror(ref, codeMirror);
var self = this;
this.firepad.on('ready', function () {
if (self.firepad.isHistoryEmpty()) {
self.firepad.setText('.red {color: red;}');
}
});
},
dispose: function () {
this.firepad.dispose();
}
}
};
现在通常我会去 codeMirror.getValue()
去获取 CodeMirror 实例的内容,不幸的是我不知道如何访问对象中函数中的变量(我什至说对了吗?)
我尝试了 examples.style.getValue()
但那当然 returns 一个错误。
有什么想法吗?
嗯,你不能。不能在函数外访问局部变量。
您必须使用 Firepad API 来获取值:
var text = examples.style.firepad.getText();
// or
var html = examples.style.firepad.getHtml();
或者您可以将 CodeMirror 实例分配给 属性 并使用 getValue
.
但是,为了方便起见,您可能想向该对象添加另一个方法:
getText: function() {
return this.firepad.getText();
}
我有以下代码:
var examples = {
'style': {
create: function (div, ref) {
var codeMirror = CodeMirror(div, {
lineNumbers: true,
mode: 'css'
});
this.firepad = Firepad.fromCodeMirror(ref, codeMirror);
var self = this;
this.firepad.on('ready', function () {
if (self.firepad.isHistoryEmpty()) {
self.firepad.setText('.red {color: red;}');
}
});
},
dispose: function () {
this.firepad.dispose();
}
}
};
现在通常我会去 codeMirror.getValue()
去获取 CodeMirror 实例的内容,不幸的是我不知道如何访问对象中函数中的变量(我什至说对了吗?)
我尝试了 examples.style.getValue()
但那当然 returns 一个错误。
有什么想法吗?
嗯,你不能。不能在函数外访问局部变量。
您必须使用 Firepad API 来获取值:
var text = examples.style.firepad.getText();
// or
var html = examples.style.firepad.getHtml();
或者您可以将 CodeMirror 实例分配给 属性 并使用 getValue
.
但是,为了方便起见,您可能想向该对象添加另一个方法:
getText: function() {
return this.firepad.getText();
}