AngularJS:ng-bind-html不适用于按钮标记

时间:2014-03-30 13:10:10

标签: javascript angularjs

我在div" ng-bind-html"中动态打印输入类型按钮时遇到问题。

HTML模板:

<input type="button" value="Add" ng-click="add()">
<div ng-bind-html="snippet"></div>

控制器:

$scope.add = function() {
   $scope.snippet = "<input type='button' value='Test' ng-click='myFunc()'><b>Test 2</b>";
}

标签输入被删除,然后我只看到&#34;粗体&#34;文本测试2。

由于

1 个答案:

答案 0 :(得分:11)

出于某种原因,您的html标记被角度js标记为unsafe。如果您确定自己的代码段文字是安全的,则可以先$sce.trustAsHtml将其添加到$scope.snippet

app.controller('yourCtrl', ['$scope', '$sce', function($scope, $sce){
    $scope.add = function(){
        var text = "<input type='button' value='Test'><b>Test 2</b>";

        // mark it as clean
        text = $sce.trustAsHtml(text);

        $scope.snippet = text;
    };
}]);