![](/img/trans.png)
[英]Is it possible to dynamically generate the options of the angular-ui tinymce editor?
[英]Stuck with Angular-UI TinyMce
我正在尝试在Angular应用程序中使用Angular-UI TinyMCE指令。
发生的是,我查询一个端点,它返回一个对象数组。 我有一个函数,然后将其转换为带有HTML标记的长字符串。 然后将该数据设置为$scope.tinymceModel
这一切都很好。 我可以console.log($scope.tinymceModel)
及其适当的数据。
问题是返回端点查询后需要运行HTML分析函数。 因此,我已经在.success()
回调内部调用了该函数。 由于某种原因,当我在回调中设置$scope.tinymceModel
,TinyMCE指令将其忽略。 即使我将其设置$scope.tinymceModel = 'test'
但如果将$scope.tinymceModel = 'test'
放置在回调之外,它$scope.tinymceModel = 'test'
显示在tinymce中。
这告诉我,由于某些原因,在加载TinyMCE指令时,它需要已经用数据填充tinymceModel
。 我不确定如何解决这个问题。
这也告诉我在此之后我可能还有另一个问题。 TinyMCE的下一个任务是用户然后可以编辑文本,单击按钮,应用程序将在tinymceModel
内发送包含更新信息的POST。如果这是常规文本框,则由于数据绑定而变得简单。 但是,似乎TinyMCE在数据绑定方面不能很好地发挥作用。
有任何想法吗?
我试图重新创建您正在描述的内容(用$ timeout替换$ http)无效。 这是我的解决方案,似乎工作正常。
HTML:
<div ng-controller="MainCtrl">
<textarea ui-tinymce="" class="form-control" ng-model="someHtml"></textarea>
</div>
JavaScript:
angular.module('testTinymceApp')
.controller('MainCtrl', function ($scope, $timeout) {
$timeout(function() {
$scope.someHtml = '<h1>HELLO THERE</h1>'
}, 7000);
// This does the same thing with an XHR request instead of timeout
// $http.get('/some/data/').success(function(result) {
// $scope.someHtml = '<h1>HELLO THERE</h1>'
// });
});
我想也许您可以将其与自己的应用程序进行比较? 我知道这一事实适用于XHR请求。 我在工作中建立一个CMS,使用的是相同的工作流程。
该代码段中的someHtml
属性在someHtml
也将是有效的HTML,因此在POST请求中将其发送回应该非常容易。
如果这还不够,请提供进一步的解释。
弄清楚了!,问题与TinyMCE指令中的错误有关。 默认情况下,没有设置优先级。 将其设置为1或更高的值可以对其进行修复。 看来,Ui-TinyMCE指令的当前版本已解决此问题,但不到一个月前我撤下的版本尚未修复。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.