Angular SCE信任rootScope函数中的HTML变量

时间:2018-04-16 18:19:21

标签: javascript angularjs tinymce

我尝试从Angular范围函数传递变量,以便在textarea中呈现TinyMCE ng-bind-html的HTML内容。不确定以下函数为何仍然出现$sce.unsafe错误

rootScope

app.run(function($rootScope, $http, $sce, $compile) {
    // Text Parsing
    $rootScope.txtRefresh = function(obj) {
      obj = $sce.trustAsHtml(obj);
    };
});

控制器

$scope.txtRefresh = function (obj) {
  $rootScope.txtRefresh(obj);
}

部分

<label>Paragraph 1</label>
<textarea data-ui-tinymce ng-change="txtRefresh(field['txt-1'])" type="text" class="form-control" ng-model="field['txt-1']" rows="4" placeholder="Description..." />
<div ng-bind-html="field['txt-1']"></div>

1 个答案:

答案 0 :(得分:1)

您应该调用该函数直接在绑定中信任资源。所以:txtRefresh(field['txt-w']

$ sce.trustAsHtml返回一个受信任的资源,它不会修改传递给它的字符串。因此,你的ngChange没有做任何有意义的事情。您也可以调用函数来查看信任field['txt-w']中的值的更改并将其存储在范围内,然后让ng-bind-html使用该新的可信值。