Javascript AngularJS不“是的;“引导”;新的DOM元素
我有一个AngularJS应用程序(简化为相关部分)如下所示:Javascript AngularJS不“是的;“引导”;新的DOM元素,javascript,angularjs,dom,angularjs-bootstrap,Javascript,Angularjs,Dom,Angularjs Bootstrap,我有一个AngularJS应用程序(简化为相关部分)如下所示: <div ng-app="myModule"> <div id='container'> <div say-hello-to name="Frank">f</div> <div say-hello-to name="Billy">b</div> </div> </div> F B 该应
<div ng-app="myModule">
<div id='container'>
<div say-hello-to name="Frank">f</div>
<div say-hello-to name="Billy">b</div>
</div>
</div>
F
B
该应用程序运行良好。现在,如果在角度引导过程之后,我添加了一个新的dom元素,它对应于一个指令,它不会被解释。注意,“添加”是由非angularjs JavaScript代码完成的
<div say-hello-to name="Dusty">d</div>
d
这只是一个“死”字
JSIDLE链接:
问题是:如何在应用程序中添加一个新的DOM元素,并让AngularJS知道有一个新元素需要解释(我可以轻松地将AngularJS精确地指向所有插入的元素)
干杯,提前感谢 检索
$injector
服务:
var $injector = angular.element(document.querySelector('#container')).injector();
选择元素:
var element = angular.element(document.querySelector('[name="Dusty"]'));
使用$injector服务检索$compile
服务并将元素链接到范围:
$injector.invoke(function ($compile) {
var scope = element.scope();
$compile(element)(scope);
});
演示:
简短解释:您必须在非角度js代码中添加这些元素吗?如果您使用jQuery添加元素,则需要编译它first@OmriAharon:是的,它需要是非角度的code@doodeec:如何编译?你有例子吗?@iPirat看看完美的解决方案。非常感谢。作为后续:如果使用非角度代码删除这样一个元素,是否足够做<代码>角元素(…)?