Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在CKEditor5中更改视图模式的优雅方式_Ckeditor_Ckeditor5 - Fatal编程技术网

在CKEditor5中更改视图模式的优雅方式

在CKEditor5中更改视图模式的优雅方式,ckeditor,ckeditor5,Ckeditor,Ckeditor5,我正在寻找一种方法来更改CKE5使用的视图模式/标记,同时尽量不重新实现所有内容。因此,基本上问题是,在编辑器中将元素更改为的最佳方式是什么 我当前的解决方案是更改*editing.js文件和基本插件文件,以包含修改后的编辑插件,而不是原始插件。这很好,但是,我想知道是否有一种方法可以减少完成这项任务所需的代码行数 因此,我的解决方案目前如下所示: newbold.js: static get requires() { return [ NewBoldEditing, BoldUI ];

我正在寻找一种方法来更改CKE5使用的视图模式/标记,同时尽量不重新实现所有内容。因此,基本上问题是,在编辑器中将
元素更改为
的最佳方式是什么

我当前的解决方案是更改
*editing.js
文件和基本插件文件,以包含修改后的编辑插件,而不是原始插件。这很好,但是,我想知道是否有一种方法可以减少完成这项任务所需的代码行数

因此,我的解决方案目前如下所示:

newbold.js

static get requires() {
    return [ NewBoldEditing, BoldUI ];
}
editor.conversion.attributeToElement({
    model: 'bold',
    view: 'b'
});
newboldediting.js

static get requires() {
    return [ NewBoldEditing, BoldUI ];
}
editor.conversion.attributeToElement({
    model: 'bold',
    view: 'b'
});

有没有更好的方法(最好不要重新实现这么多的类)?

您只能提供一个非常简单的插件来覆盖默认的
bold
属性转换

class BoldToB extends Plugin {
    init() {
        this.editor.conversion.attributeToElement( {
            model: 'bold',
            view: 'b',
            converterPriority: 'high'
        } );
    }
}
这里有一把小提琴供你测试:

请注意,在fiddle中,我无法访问
插件
类,因此我必须添加
构造函数()。如果扩展
插件
类,则不需要这样做