2016-01-18 72 views
2

我有一個關於angularjs中的tinyMCE插件的問題。 我有一個textareaangularjs reinit tinyMCE textarea content_css選項

<textarea ui-tinymce="tinymceOptions" ng-model="tinymceModel"></textarea>

按鈕點擊與另一個值後應刷新選項content_css。我知道你不能真正刷新選項,只是殺死和重新啓動,但當我試圖tinyMCE.remove();它是完全刪除我的textarea,然後當我用tinyMCE.init();我不能重新啓動它,或者我只是太困惑?

THX任何幫助:)

快速小提琴,樣品我的意思:https://jsfiddle.net/QuadroKnoX/k6tacgwn/

回答

0

好,我已經找到了解決辦法,只是誰需要這些信息太另人: 我已經使用$scope.$broadcast('$tinymce:refresh')和其他目的,你也可以使用$scope.$emit('$tinymce:refresh'),並把它前面的「新」選項。

1

你需要傳遞一個配置對象(物體牽着你的所有TinyMCE的配置參數)到初始化函數。最重要的是一個選擇器,否則tinymce不知道爲哪個html元素創建一個編輯器。

例子:

tinymce.init({ 
    selector: 'textarea', 
    height: 500, 
    plugins: [ 
    'advlist autolink lists link image charmap print preview anchor', 
    'searchreplace visualblocks code fullscreen', 
    'insertdatetime media table contextmenu paste code' 
    ], 
    toolbar: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image' 
}); 
+0

謝謝,我已經嘗試過了,至今爲止工作正常,但是它應該啓動的實際textarea已被'tinymce.remove();'完全移除,因此無法重新啓動。我必須使用任何參數來防止這種情況嗎? –

+0

只能刪除編輯器 - 不是tinymce源元素! – Thariama

+0

以及我的問題是,有角錫是使用例如'$ scope.tinymceOptions = {}'定義選項而不是'tinymce.init()',所以我不知道這個概念是否有效,或者我是否錯誤? –