javascript - AngularJS 和动态 HTML

标签 javascript html angularjs

我有一个带有 AngularJS 指令的 HTML 行,我正在通过自 2009 年以来使用的一些 jQuery 控件动态插入它。我无法更改此控件。但是,我想开始使用 Angular JS。

为网格、列评级生成的 HTML 是:

  <div star-rating rating-value="1005" max="5"> </div>

我想要的是编译这个 html。

目前 AngularJS 无法看到这个动态生成的 HTML。

我能想到的唯一方法是为每个 jQuery 插入调用一个 javascript 函数(我使用的 Grid 控件可以编译 JavaScript 函数)。

fnCompileDynamicHTML('<div star-rating rating-value=23 max=5></div>)

和函数:

fnCompileDynamicHTML(html) {
    return $compile(html)($scope) // or something?
}

我已经按照提到的内容做了 here .但是我的应用程序提示:

App Already Bootstrapped with this Element.

不是因为它是一个新对象和新的内部 HTML。

这是我在 100 的循环中所拥有的:

 evt.row.cells[glbCandidateListColumnIndex.rank].innerHTML = '<div star-rating rating-value="' + rank + '" ></div>';
 fnCompileDynamicAngularJS(evt.row.cells[glbCandidateListColumnIndex.rank]);

请帮忙。

最佳答案

您应该在外部库完成 DOM 编译后加载 Angular.js,调用 angular.bootstrap (documented here) ,或者您可以手动强制编译该特定 DOM 节点(更难!!!)

举个例子:

angular.module('myApp', []).directive('myDirective', function () {});
angular.bootstrap(document.body, ['myApp']);

那应该已经可以工作了!

关于javascript - AngularJS 和动态 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21742862/

相关文章:

javascript - 来自 AJAX 回调的 AngularJS 更新值

php - 我如何获得点击动画并显示 div 的链接?

html - 两部分导航。一个居中,另一个右对齐

javascript - 如何将整个页面保存为一个文件以便离线工作(包括外部 javascript)?

javascript - 如何以 Angular 从 $http.json 请求返回转换后的数据?

javascript - 将 TD 数组转置为列 jQuery

javascript - 检查给定的4个元素数组坐标表示的3条线段是否可以组成一个三 Angular 形

html - 减小 HTML 中下拉菜单的字体大小

javascript - 更改 $scope 不反射(reflect)更新

javascript - AngularJS 路由器和 .NET 后端 - 在 templateUrl 上获取重定向