AngularJS ng使用sanitize绑定html在1.3.8中不起作用

AngularJS ng使用sanitize绑定html在1.3.8中不起作用,angularjs,Angularjs,我认为: <div contentEditable="true" ng-bind-html="message" style="clear:both;padding:10px;height:250px; font-family: arial, sans-serif; font-size: 13px; resize: none; overflow-y: scroll;border:rgb(229,229,229) solid 1px;margin-bottom:30px"></di

我认为:

<div contentEditable="true" ng-bind-html="message" style="clear:both;padding:10px;height:250px; font-family: arial, sans-serif; font-size: 13px; resize: none; overflow-y: scroll;border:rgb(229,229,229) solid 1px;margin-bottom:30px"></div>

在控制器函数中(控制器使用ngSanitize并定义了$sce):

\u message=message.replace(新的RegExp(“{”+property+“}”,'g'),“”+property+“”);
$scope.message=\u消息;
$scope.message=$sce.trustAsHtml($scope.message);
log($scope.message);
但我在角度上有一些奇怪的错误:

TypeError:undefined不是函数 在HTMLPasser(chrome-extension://fpcnkepdihaljlahfnikcfdjombihalb/js/nova.js:10049:17) 售价$sanitize(铬)-extension://fpcnkepdihaljlahfnikcfdjombihalb/js/nova.js:9963:5)

如果我删除
$sce.trustAsHtml()
并只使用未清理的版本,它会从刚刚添加的消息变量中的HTML中删除我的属性:

变为
,但不会崩溃


有什么想法吗?(Angular 1.3.8)

最后,我不得不编译动态生成的新HTML。我原本以为angular会为我编译它,但它显然没有这样做。以下是我使用的指令和最终视图代码:

`指令(“compileHtml”,函数($parse,$sce,$compile){ 返回{ 限制:“A”, 链接:功能(范围、元素、属性){

}))`

以及以下观点:

有人知道为什么需要这样做吗?这似乎很难-也许有更好的方法吗?

似乎对我很有效。
_message = message.replace(new RegExp("{"+property+"}", 'g'), '<font style="background-color:rgba(0,255,103,.2);">'+property+'</font>');
$scope.message = _message;
$scope.message = $sce.trustAsHtml($scope.message);
console.log($scope.message);
        var expression = $sce.parseAsHtml(attributes.compileHtml);

        var getResult = function () {
            return expression(scope);
        };

        scope.$watch(getResult, function (newValue) {
            var linker = $compile(newValue);
            if (element[0].children.length > 0) {
                element.empty();
                element.append(linker(scope));
            }
            else {
                element.append(linker(scope));
            }
        });
    }
}