我希望编写一个Angular应用程序,它将Ace editor与用于保存+撤消/重做的工具栏集成在一起。我已经创建了一个基本plunk来制作这个应用程序。
正如你应该能够从插件中看到的那样,有一个'toolbar'指令负责渲染工具栏(有三个按钮:Save,Undo和Redo)和一个负责渲染Ace编辑器的'ace'指令。这两个指令都位于'directives.coffee'。
工具栏应该按照文本编辑器工具栏的方式运行,即:
所以我的问题是,如何设计Ace编辑器和应用程序工具栏之间的Angular绑定,以便满足上述规范?
答案 0 :(得分:1)
我不确定你在角度方面需要做什么,但是ace提供了所有这些方法
var undoManager = editor.session.getUndoManager()
undoManager.isClean()
undoManager.markClean()
undoManager.hasUndo()
undoManager.hasRedo()
请注意isClean
基于撤消堆栈而不是文档值,因此即使值未更改,写入和删除字母也会启用保存按钮。
最好使用editor.on("input", function(){})
而不是'change'
,因为输入事件是异步触发的。