1

我在模式对话框中使用以下代码:

    <input data-ng-model="modal.formData.text" type="text">
    <textarea
        data-ui-tinymce
        data-ng-disabled="modal.action=='delete'"
        data-ng-model="modal.formData.text"
        id="inputText"
        required></textarea>

当用户单击行表内的网格编辑按钮时,将打开该对话框。

第一次(硬刷新后)用户单击编辑,然后<input>填充框和 tinymce 窗口。随后单击编辑打开对话框,但仅<input>填充该框。

4

1 回答 1

1

在过去的三天里,我试图解决这个问题,最终放弃了 tinymce 的 angularjs 指令。我认为它还没有为黄金时段做好准备。我的解决方法是将它放在 Angular-Bootstrap 模态对话框的控制器中:

    setTimeout(function() {   //wait for the dialog to be open
        tinymce.init({
            selector: "#editorID",
            setup:function(ed) {
                ed.on("init", function(){
                    $scope.editor = ed; //save a reference to the editor
                    //manually put your model into the editor:
                    $scope.editor.setContent($scope.model.textForTheEditor); 
                });
            }   
        });
    }, 333); //a third of a second is more time than you need, but it works

然后当对话框关闭时,使用编辑器的内容更新您的模型:

   $scope.model.textForTheEditor = $scope.editor.getContent();

我知道它不是您想要的解决方案,它违反了整个“控制器中的无 DOM”范式,但它似乎是让 TinyMCE 在 Anguler/Twitter Bootstrap 对话框中重复工作的唯一方法。

我也希望使用 Angularjs 指令获得更好的解决方案!希望这可以帮助。

于 2013-09-09T19:37:08.017 回答