指明CodeMirror向对应的textarea滚动(写数据)的速度(获得焦点时)。大多数的输入都是通过事件捕获,但是有的输入法(如IME)在某些浏览器上并不会生成事件,所以使用数据滚动。默认为100毫秒。
flattenSpans: boolean
默认情况下,CodeMirror会将使用相同class的两个span合并成一个。通过设置此项为false禁用此功能。
addModeClass: boolean
当启用时(默认禁用),会给每个标记添加额外的表示生成标记的mode的以cm-m开头的CSS样式类。例如,XML mode产生的标记,会添加cm-m-xml类。
maxHighlightLength: number
当需要高亮很长的行时,为了保持响应性能,当到达某些位置时,编辑器会直接将其他行设置为纯文本(plain text)。默认为10000,可以设置为Infinity来关闭此功能。
viewportMargin: integer
指定当前滚动到视图中内容上方和下方要渲染的行数。这会影响到滚动时要更新的行数。通常情况下应该使用默认值10。可以设置值为Infinity始终渲染整个文档。注意:这样设置在处理大文档时会影响性能。
vue-codemirror还提供了一些使用的方法
scroll
changes
beforeChange
cursorActivity
keyHandled
inputRead
electricInput
beforeSelectionChange
viewportChange
swapDoc
gutterClick
gutterContextMenu
focus
blur
refresh
optionChange
scrollCursorIntoView
update
我英语不好就步翻译了,不过用到的基本就这几个changes,update,refresh,focus,blur,其他的看你们的需要而定。代码编辑后的保存还是要用到codemirror的方法,而使用codemirror的方法就是在计算属性使用:
computed: { codemirror() { return this.$refs.myCm.codemirror } },
codemirror的方法在官网有很详细的解释,我在这里就列几个常用的
(
(1)getValue():获取编辑器文本
(2)setValue(textString):设置编辑器文本
(3)undo():撤销一个编辑器
(4)redo():重做一个编辑器
(5)setSelection({line:startLineNumber,ch:start_ch},{line:endLineNumber,ch:end_ch});设置一个新的编辑器
(6)getLine(Integer):获取第n行的文本内容
(7)replaceRange(str1,{line,ch},{line,ch},str2):替换str1中一部分代码为str2
(8)lineCount():获取编辑器总行数
(9)replaceSelection(str1,str2):替换所选内容
到此,用法已经说完,开头我提到的三个问题第一第二个已经解决,第三个解决不了,应该是codemirror内部有自动刷新的程序,解决页面切换编辑器空白的方法可以在options加一个配置viewportMargin:Infinity不过这样会影响性能。
总结
以上所述是小编给大家介绍的在vue里使用codemirror,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章: