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

时间:2015-03-05 15:40:03

标签: javascript jquery angularjs

我知道解决方案不理想 - 我正在使用遗留代码并且有很多限制。

在我的应用中的页面上,用户可以选择要填写的多种表单中的一种。选中后,我们使用JQuery将选定的表单加载到DOM中。在这个新加载的表单中,我们需要使用angular指令,但angular不知道任何事情已经发生了变化(因为JQuery处理了状态更改),因此它不会重新编译包含指令的标记。

我怎样才能让角知道它需要再次通过DOM?

1 个答案:

答案 0 :(得分:0)

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

如果您在没有检查的情况下使用它,它可能会在角度内发出错误。

你可以使用它,包裹在$timeout()中,以便在当前摘要(如果有)之后触发它

$timeout(function(){
    $scope.$apply();
});