Angularjs - 使用sortable后tinyMCE 4指令不起作用

时间:2013-08-20 20:40:28

标签: javascript angularjs tinymce jquery-ui-sortable

我正在使用AngularUI指令使用AngularJS构建项目:ui.tinymce和ui.sortable。

这是我的代码:

<ul ui-sortable="sortableOptions"  ng-model="appData.data">
<li ng-repeat="box in appData.data" boxlistitem>
    <textarea ng-model="box.title" value="{{box.title}}" class="tinyMCE" ui-tinymce="tinymceOptions"></textarea>
</li>
</ul>

基本上它工作得很好,但是一旦我对其中一个列表项进行排序就会发生一件奇怪的事情 - tinyMCE不再工作了(参见附图中 - 左边是它假设的样子)。

enter image description here enter image description here

知道可能是什么问题吗?

谢谢, 丹尼尔

1 个答案:

答案 0 :(得分:1)

丹尼尔,

这是一个众所周知的问题,我已经设法用ng-include来解决这个问题,所以tinymce textarea会在其中。

像这样:

<ul ui-sortable="sortableOptions"  ng-model="appData.data">
  <li ng-repeat="box in appData.data" boxlistitem ng-include src="box.template_name">
  </li>
</ul>
<script type="text/ng-template" id="tinymce_module">
  <textarea ng-model="box.title" value="{{box.title}}" class="tinyMCE" ui-tinymce="tinymceOptions"></textarea>
</script>

在控制器中你需要做这样的事情:

$scope.sortableOptions =
  update: (e, ui) ->
    box.template_name = ""
    $timeout ->
      box.template_name = "tinymce_module"
    ,0

找到你的方法将{{box}}传递给sortableOptions中的更新函数,这将重新加载tinymce插件及其所有数据。

祝你好运。