为了账号安全,请及时绑定邮箱和手机立即绑定

如何使ng-bind-html编译angularjs代码

如何使ng-bind-html编译angularjs代码

如何使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做出改变


查看完整回答
反对 回复 2019-07-27
  • 3 回答
  • 0 关注
  • 661 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信