使用 angular ui ace 时如何获取范围?
How to get Range when using angular ui ace?
有谁知道我如何使用 angular ui ace 获得射程?
如果我直接在我的 html 中嵌入 ace,我可能会这样做:
var editor = ace.edit("editor");
editor.setTheme("ace/theme/monokai");
editor.getSession().setMode("ace/mode/javascript");
var Range = ace.require('ace/range').Range;
但是我怎样才能用 angular ui ace 得到这个?我可以访问模型和编辑器 class,但我想这将需要 uire ace 对象?
谢谢。
ace 全局变量也可用于 angular ui ace。
在 ui-ace 演示页面 http://angular-ui.github.io/ui-ace/
的控制台中尝试 ace.require('ace/range').Range;
我刚找到解决方案。我不喜欢它,但它确实有效!
要创建新的 Range 对象,您需要获取其构造函数。因为编辑器的 selectionRange 属性 是相同的 "object type"(我知道,我们在 JavaScript),你可以得到它的构造函数并用它创建新的 Range 对象:)
您可以在onLoad函数中获取编辑器对象:
this.aceLoaded = function (editor) {
let AceRange = editor.getSelectionRange().constructor;
editor.session.addMarker(new AceRange(from,0, to, 200), "your-style", "fullLine");
}
并且在 html 模板中,您将它与
绑定
<div ui-ace="{
onLoad: $ctrl.aceLoaded,
}">
有谁知道我如何使用 angular ui ace 获得射程? 如果我直接在我的 html 中嵌入 ace,我可能会这样做:
var editor = ace.edit("editor");
editor.setTheme("ace/theme/monokai");
editor.getSession().setMode("ace/mode/javascript");
var Range = ace.require('ace/range').Range;
但是我怎样才能用 angular ui ace 得到这个?我可以访问模型和编辑器 class,但我想这将需要 uire ace 对象?
谢谢。
ace 全局变量也可用于 angular ui ace。 在 ui-ace 演示页面 http://angular-ui.github.io/ui-ace/
的控制台中尝试ace.require('ace/range').Range;
我刚找到解决方案。我不喜欢它,但它确实有效!
要创建新的 Range 对象,您需要获取其构造函数。因为编辑器的 selectionRange 属性 是相同的 "object type"(我知道,我们在 JavaScript),你可以得到它的构造函数并用它创建新的 Range 对象:)
您可以在onLoad函数中获取编辑器对象:
this.aceLoaded = function (editor) {
let AceRange = editor.getSelectionRange().constructor;
editor.session.addMarker(new AceRange(from,0, to, 200), "your-style", "fullLine");
}
并且在 html 模板中,您将它与
绑定 <div ui-ace="{
onLoad: $ctrl.aceLoaded,
}">