如何使ng-bind-html编译angularjs代码我正在使用angularjs 1.2.0-rc.3。我想动态地将html代码包含到模板中。为此我在控制器中使用:html = "<div>hello</div>";$scope.unicTabContent = $sce.trustAsHtml(html);在我得到的模板中:<div id="unicTab" ng-bind-html="unicTabContent"></div>它适用于常规的html代码。但是当我尝试放置角度模板时,它没有被解释,它只是包含在页面中。例如,我想包括:<div ng-controller="formCtrl">
<div ng-repeat="item in content" ng-init="init()">
</div></div>非常感谢
3 回答
月关宝盒
TA贡献1772条经验 获得超5个赞
这就是我所做的,不知道它是否是角度方式TM,但它的工作原理非常简单;
.directive('dynamic', function($compile) { return { restrict: 'A', replace: true, link: function (scope, element, attrs) { scope.$watch(attrs.dynamic, function(html) { $compile(element.html(html).contents())(scope); }); } };});
所以;
<div id="unicTab" dynamic="unicTabContent"></div>
编辑:我找到了角度方式,它非常简单。
$templateCache.put('unicTabContent', $sce.trustAsHtml(html));
<div id="unicTab" ng-include="'unicTabContent'"></div>
不需要制作自己的指令或任何东西。但它是一种绑定一次的交易,它不会像自定义指令那样对你的html做出改变。
添加回答
举报
0/150
提交
取消