繁体   English   中英

卡在Angular-UI TinyMce中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM