Javascript 如何触发Angular从JQuery重新编译模板?

Javascript 如何触发Angular从JQuery重新编译模板?,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我知道这个解决方案是不理想的——我使用的是遗留代码,有很多限制 在我的应用程序的一个页面上,用户可以从他们想要填写的几个表单中选择一个。选中时,我们使用JQuery将所选表单加载到DOM中。在这个新加载的表单中,我们需要使用angular指令,但angular不知道有任何更改(因为JQuery处理了状态更改),因此它不会重新编译包含我们的指令的标记 如何让angular知道它需要再次通过DOM?$scope.apply()将触发对DOM的新检查 如果您在未检查的情况下使用它,它可能会在angul

我知道这个解决方案是不理想的——我使用的是遗留代码,有很多限制

在我的应用程序的一个页面上,用户可以从他们想要填写的几个表单中选择一个。选中时,我们使用JQuery将所选表单加载到DOM中。在这个新加载的表单中,我们需要使用angular指令,但angular不知道有任何更改(因为JQuery处理了状态更改),因此它不会重新编译包含我们的指令的标记

如何让angular知道它需要再次通过DOM?

$scope.apply()
将触发对DOM的新检查

如果您在未检查的情况下使用它,它可能会在angular内部触发错误

您可以使用它,将其包装成一个
$timeout()
,以便在当前摘要之后触发它(如果有)


我也遇到过类似的情况,如何获得从jQuery到angular的转换过程,我最终求助于jQuery加载另一个url,从那里开始,让angular(bootstrap)来完成这件事,我找不到一种编程方式来动态地从一个脚本转换到另一个脚本-另一种选择是以一种或另一种方式编写所有内容,因此,通过url的转换对我来说很有效,尽管根据您的描述,您的情况并不适合这种情况,但是如果您想一种转换页面的方法,这将允许您同时使用这两个框架,请查看$compile
$timeout(function(){
    $scope.$apply();
});