专长:将getDirtyCount与撤销/重做结合起来
你好@neon12345! 据我所知,'changesCount' 也会和'stepsBeforeSave'一起使用,在启用'自动保存'时触发存储。 (参见:https://grapesjs.com/docs/modules/Storage.html#store-and-load-templateshttps://github.com/artf/grapesjs/blob/dev/src/editor/model/Editor.js#L170 ) 干杯!
阅读下方完整回答 ↓问题
目前,无论撤销和重做,changesCount 都会增加。我想知道是否有应用程序使用实际值,还是这只是一个布尔变更的指示器。 如果只是作为布尔值使用,也可以在撤销状态中添加一个标志并标记保存的位置。这样只有当撤销堆栈没有指向撤销和重做时保存的位置时,才能发出更改信号。 类似这样的方法似乎很有效: var um = editor.UndoManager; var changepoint = null; var hasChange = false; function findChange() { var s = um.getStack(); var idx = s.pointer; var old = hasChange; 如果(idx != -1) { hasChange = 变点 !== s.models[idx]; } 否则 { hasChange = 变点 !== null; } if(old != hasChange) { console.log(“已更改”,hasChange); } } function saveChange() { var s = um.getStack(); var idx = s.pointer; 如果(idx != -1) { 变点 = S.models[idx]; } 否则 { 变点 = 零; } } editor.on('undo', fin...
回答(3)
你好@neon12345!
据我所知,'changesCount' 也会和'stepsBeforeSave'一起使用,在启用'自动保存'时触发存储。
(参见: - https://grapesjs.com/docs/modules/Storage.html#store-and-load-templates - https://github.com/artf/grapesjs/blob/dev/src/editor/model/Editor.js#L170 )
干杯!
好的。但这意味着撤销和重做总是会触发自动保存,这并不是最优选择。
getDirtyCount 返回变更次数,因此不用作布尔值。 如果你有更好的撤销/重做更改方案,欢迎PR
相关问答
通过相似的问题讨论继续研究。
问题 #2778
无法读取 r.getBody 的 null 属性 'querySelector'
嗨 我当时试图在可视化源页面上使用 grapesjs 。 以下是初始值函数—— 'initEditor: function(){ var self = this; this.editor = grapesjs.init({ 容器:“#gjs”, fromElement: tru...
问题 #2017
问题:在特质面板中按退格键或删除键会移除画布中的元素
我在Polymer 3.x Element中使用grapesJS,一切运行得非常顺利,项目很棒。但是,我遇到了一个问题: 当我在画布中选择元素,进入特质面板,将光标置于特质字段,输入一些文本(或不输入),然后按删除键或退格键时,它会删除选中的元素。 这种情况在 Chrome 的...
问题 #1804
在同一个HTML标签上应用两个不同的特征,但只应用一个
你好,@artf, 如果我们需要在同一个HTML标签上初始化两个特征,那这可行吗? 实际上,我在同一个标签上定义了两种不同的特征(“在链接/标签上”)。 让我简单介绍一下你。 假设我有一组链接包含类类,类似于“非拖放”。 所以,它的HTML代码就像 所以对于上述类别的“非拖放”...
问题 #1296
自定义富文本编辑器无法工作
你好@artf,我刚用不同的库(比如CKEditor 5、TinyMCE 4或pell)创建了一个RTE的自定义插件,但结果都是编辑器失去焦点,导致按钮无法应用到文本内容上。 ![截图 2018-07-18,17 06 53](https://user-images.githu...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
浏览插件分类
直接跳转到市场上的插件分类页面。