Javascript 从对象函数获取CodeMirror值

Javascript 从对象函数获取CodeMirror值,javascript,function,variables,object,codemirror,Javascript,Function,Variables,Object,Codemirror,我有以下代码: var examples = { 'style': { create: function (div, ref) { var codeMirror = CodeMirror(div, { lineNumbers: true, mode: 'css' }); this.firepad = Firepad.fromCodeM

我有以下代码:

 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();
        }
    }
};
现在通常我会去
codemirr.getValue()
获取codemirr实例的内容,不幸的是,我不知道如何访问对象中函数中的变量(我说得对吗?)

我尝试了
examples.style.getValue()
,但这当然会返回一个错误


有什么想法吗?

嗯,你不能。无法在函数外部访问局部变量

您必须使用来获取值:

var text = examples.style.firepad.getText();
// or
var html = examples.style.firepad.getHtml();
或者,您可以将CodeMirror实例分配给属性并使用
getValue

但是,为了方便起见,您可能希望向对象添加另一个方法:

getText: function() {
  return this.firepad.getText();
}

尝试此接收错误:“UncaughtTypeError:无法读取undefined”的属性“getText”,当然您需要有
examples.style.create()预先调用。我有一个初始化函数,它正在创建CodeMirror实例,我稍后运行
getText()
,这会破坏它吗?请注意“我稍后运行getText()”的含义。我发布的内容将与您提供的信息配合使用。如果您不提供完整的示例,我将无法进一步帮助您。很抱歉,以下是代码要点,请记住,它几乎是从firepad复制粘贴而来的。我很清楚它是如何被低估的: