我正在构建一个接受“消息”的指令,该“消息”也可以包含html和嵌套的angular指令。现在,在我的指令的控制器中,我这样做:
var compiled = $compile(message)($scope);
this.message = $sce.trustAsHtml(compiled.html());但是如果消息没有有效的开始和结束标记,它就不会编译。我想知道是否有其他方法,或者angular是否有任何方法可以在没有我使用正则表达式的情况下做到这一点。
发布于 2015-02-12 23:52:58
我绝对不会去解析或验证HTML。jQuery/jqLite已经为我们做到了这一点。
angular.element需要根元素。因此,将消息包装在根元素中,编译并链接,然后取出内容:
link: function(scope, element){
scope.param = "test";
var message = "foo {{param}} bar";
var el = angular.element("<div>").append(message);
var compiled = $compile(el)(scope);
element.append(compiled.contents());
}https://stackoverflow.com/questions/28480962
复制相似问题