我想将模板中的内容绑定到 Angular 应用程序中的数据。模板存储在一个 html 文件中并包含绑定表达式:
<div>
<div class="case-header">
<h3>Case Details</h3>
</div>
<div class="case-body">
<div>
<label>Case Number:</label><div>{{item.CaseNumber}}</div>
</div>
<div>
<label>Name:</label><div>{{item.CandidateName}}</div>
</div>
...
</div>
</div>
为模板提供上下文和数据的元素是 ng-grid 中的一行。在下面的函数中,我创建了一个新范围来包含当前行的数据。模板的内容从 html 文件中检索并在构造控制器时缓存到属性中。但是, $compile 调用并没有按照我的意愿绑定数据。该函数返回模板标记,其中仍然包含绑定表达式。我尝试了两种风格的绑定表达。
$scope.getTooltip = function (row) {
var scope = $scope.$new();
scope.item = row.entity;
var elem = angular.element($scope.template);
var result = $compile(elem)(scope);
return result.html();
};
相对于文档,对 $compile 的调用似乎是正确的,但我想我一定误解了一些东西。
如何获取注入模板的数据值?
普朗克
这是一个可以玩的Plunker 。