如何动态更改 angular tinymce 编辑器的本地化?
How to change angular tinymce editor's localization dynamically?
我正在使用 angular-ui-tinymce 和 tinymce ver 4.5.6
我正在尝试动态更改编辑器的本地化。对于本地化,我使用 angular-translate 但是我做不到。
我试着这样实现
JS
var tinymce=null;
vm.tinymceOptions = {
setup: function(editor) {
tinymce = editor;
},
content_css: "vendor/tinymce/angular-ui-tinymce/skins/lightgray/content.min.css",
language: $translate.proposedLanguage(),
//more options here
}
//To get localization change
$rootScope.$on('$translateChangeSuccess', function () {
if(tinymce!=null)
tinymce.execCommand('mceRepaint'); //This doesn't reflect any changes
});
这里是 HTML:
<form method="post" ng-show="vm.editMode">
<textarea ui-tinymce="vm.tinymceOptions" ng-model="vm.editorContent"></textarea>
</form>
刷新页面后,编辑语言发生变化
TinyMCE 不支持在编辑器初始化后动态改变language/localization。
您可以 remove()
和 init()
具有不同语言设置的编辑器,但一旦初始化该设置就无法更改。
我就是这样解决的。
$rootScope.$on('$translateChangeSuccess', function () {
if(tinymce!=null){
vm.tinymceOptions.language=$translate.proposedLanguage();
tinymce.editorManager.editors = [];
tinymce.editorManager.createEditor("ui-tinymce-1",vm.tinymceOptions);
tinymce.init(vm.tinymceOptions);
}
});
我正在使用 angular-ui-tinymce 和 tinymce ver 4.5.6 我正在尝试动态更改编辑器的本地化。对于本地化,我使用 angular-translate 但是我做不到。
我试着这样实现
JS
var tinymce=null;
vm.tinymceOptions = {
setup: function(editor) {
tinymce = editor;
},
content_css: "vendor/tinymce/angular-ui-tinymce/skins/lightgray/content.min.css",
language: $translate.proposedLanguage(),
//more options here
}
//To get localization change
$rootScope.$on('$translateChangeSuccess', function () {
if(tinymce!=null)
tinymce.execCommand('mceRepaint'); //This doesn't reflect any changes
});
这里是 HTML:
<form method="post" ng-show="vm.editMode">
<textarea ui-tinymce="vm.tinymceOptions" ng-model="vm.editorContent"></textarea>
</form>
刷新页面后,编辑语言发生变化
TinyMCE 不支持在编辑器初始化后动态改变language/localization。
您可以 remove()
和 init()
具有不同语言设置的编辑器,但一旦初始化该设置就无法更改。
我就是这样解决的。
$rootScope.$on('$translateChangeSuccess', function () {
if(tinymce!=null){
vm.tinymceOptions.language=$translate.proposedLanguage();
tinymce.editorManager.editors = [];
tinymce.editorManager.createEditor("ui-tinymce-1",vm.tinymceOptions);
tinymce.init(vm.tinymceOptions);
}
});