Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS不“是的;“引导”;新的DOM元素_Javascript_Angularjs_Dom_Angularjs Bootstrap - Fatal编程技术网

Javascript AngularJS不“是的;“引导”;新的DOM元素

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 该应

我有一个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
该应用程序运行良好。现在,如果在角度引导过程之后,我添加了一个新的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看看完美的解决方案。非常感谢。作为后续:如果使用非角度代码删除这样一个元素,是否足够做<代码>角元素(…)?