我可以创建和显示多个动态代码镜像实例,但我可以使用下面的代码引用它们。 认为问题在于我需要创建一个动态函数名称。 (这里不是100%关于如何这样做)
var function (somefilename, xml){
var instanceName = somefilename + 'Editor';
require([
'codemirror/lib/codemirror','codemirror/mode/xml/xml',
'codemirror/addon/search/search'
], function(CodeMirror) {
instanceName = CodeMirror.fromTextArea(document.getElementById(somefilename + 'xml'), {
lineNumbers: true,
mode: 'xml'
});
instanceName.setValue(xml);
instanceName.focus();
});
};
答案 0 :(得分:0)
我实际上是以错误的方式解决这个问题,应该利用一个对象来存储所说的多个实例。这当然使我能够引用任何存储的记录。
希望这可以帮助将来的某个人!
chmod +x testscript.sh
在我的情况下,我将使用requirejs按需加载'
//Create your object to store multiple instances of CodeMirror
var cmInstances = {}
function createInstance(someId) {
所以我在下面做的是在我的对象中创建Codemirror对象的实例。这基本上是我之前在函数中传递的ID的关键(即:' someId)。在我打电话给下面之前我还有一个以前的功能创建一个' textarea'我已经注入了名为'#someID_xml'的页面。因此getElementByID
的引用require([
'codemirror/lib/codemirror', 'codemirror/mode/xml/xml',
'codemirror/addon/search/search'
], function(CodeMirror) {