如何正确编译包含html的文本,该文本不是来自范围

时间:2013-12-05 15:38:56

标签: angularjs binding controller scope angularjs-ng-init

基本情景是:

在我的主要diw包装中,我有:

<div class="main" ng-init="Messages ='By my opinion you should visit <a href="http:\\www.google.com">Google search</a>.';">

我希望将它绑定在主div包装器中的div中,如:

<div id="innerDiv" >{{ Messages}}</div>

但它将Messages呈现为字符串而不是包含href的字符串。我试着这样做:

<div ng-bind-html-unsafe="forry"> </div>

并在我的控制器中添加forry,如:

 $scope.$watch('Messages', function () {

                $scope.forry = $scope.Messages;
            });

当它加载。这里只加载一个空内容。

请建议hpw将此变量渲染为包含html的字符串。

1 个答案:

答案 0 :(得分:3)

角度1.2不再支持ng-bind-html-unsafe指令。请尝试ng-bind-html

<div ng-bind-html="forry"> </div>

您还需要使用$sce服务来信任html:

$scope.forry = $sce.trustAsHtml($scope.Messages);