使用 AngularJS 解析 HTML 片段

Parse HTML fragment with AngularJS

本文关键字:片段 HTML 解析 AngularJS 使用      更新时间:2023-09-26

我有一个屏幕的一部分,通过AJAX动态检索,并替换现有部分(想想一个分页网格,当你点击"下一步"时,你会得到一个新的HTML表,而不是替换当前)。该片段可能包含 AngularJS 绑定,例如需要附加的一些指令或次要数据绑定。

有没有办法让 AngularJS 解析该新片段而不重新解析整个文档?

您可以使用$compile
例如,你有

var htmlText = "<div>{{name}} <select>...</select></div>";

在您的指令中,您可以这样做

$scope.compiled= $compile(htmlText)($scope);

要解析文档的替换部分,将是:

var el = angular.element(document.getElementById('#container'));
el.html(ajaxHtml);
$compile(el.contents())(scope);