AngularJS$compile

AngularJS$compile,angularjs,Angularjs,以下功能运行良好 var el = angular.element('<div>{{ name }}</div>'); elem.append(el); $compile(el)(scope); 在angular中,您可以编写模板标记html,在浏览器中呈现之前,需要先编译模板标记html$compile将模板html转换为DOM html。 模板Html标记通常具有可从其范围中的原始定义链接的变量。这些可以使用$compile链接。作为编译转换的最终结果,可以在浏览器

以下功能运行良好

var el = angular.element('<div>{{ name }}</div>');
elem.append(el);
$compile(el)(scope);

在angular中,您可以编写模板标记html,在浏览器中呈现之前,需要先编译模板标记html$compile将模板html转换为DOM html。
模板Html标记通常具有可从其范围中的原始定义链接的变量。这些可以使用$compile链接。作为编译转换的最终结果,可以在浏览器中呈现标记。

编译使用$compile服务。对标记调用$compile将生成一个函数,您可以使用该函数将标记绑定到Angular称为链接函数的特定范围。链接后,您将拥有可以放入浏览器的DOM元素。谢谢您,我理解这一点,但如何创建自己的范围?当我调用上面的链接函数时,我不确定为什么我之前创建的对象文字不起作用。检查此链接:这解决了我的问题。谢谢你的意见。
var el = angular.element('<div>{{ name }}</div>');
elem.append(el);
$compile(el)({name:'Fred'});
    var elS = angular.element($templateCache.get('tmpl/x.html')[1]);
    var linkFn = $compile(elS);

    var newScope = scope.$new();
    newScope.s = scope.sCtrl.s;

    var content = linkFn(newScope);
    el.append(content);