首页 > 解决方案 > $compile 异常行为

问题描述

Angular 版本:1.3
我正在尝试编译 html 并生成插值的 html。ng-if代码被注释掉了

html

<div ng-if="true">true</div>

我使用上面的 html 作为 htmlTemplateDom

控制器

var htmlCompiledDom = $compile(htmlTemplateDom)($scope);
var div = angular.element("div#emailContent").append(htmlCompiledDom); 
console.log(div.html());

安慰

<!-- ng-if:true -->

所以问题是ng-if被注释掉了。有人帮忙!!!!

标签: javascriptangularjsconditional-statements

解决方案


我没有看到任何问题$compile

此示例按预期工作,请检查您是否在做不同的事情。

HTML:

<div ng-app="app" ng-controller="controller">
    <div id="compile">
    </div>
</div>

Javascript:

angular.module('app', [])
.controller('controller', function ($scope, $compile) {
    var template = '<div ng-if="true">true</div>';
    var content = $compile(template)($scope);
    angular.element('div#compile').append(content);
 });

如果你想执行它,看看这个fiddle


推荐阅读