我正在使用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不再工作了(参见附图中 - 左边是它假设的样子)。
知道可能是什么问题吗?
谢谢, 丹尼尔
答案 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插件及其所有数据。
祝你好运。