$编译不编译整个字符串



我正在尝试在我的指示中编译HTML,以通过jQuery搬入表。

由于某种原因,我的$ compile不会抓住整个字符串,它只是抓住重复指令。如果我删除<tr ng-repeat...>,它将抓住剩余的字符串。

var el = $compile('<tr ng-repeat="row in gotData" ><td>{{row["data"]}}</td> <td>{{row["moredata"] % 5 |number:3}}</td> <td>{{row["moredata2"] % 5 | number:3}}</td><td>{{row["moredata3"] % 5 | number: 3}}</td><td>{{row["moredata"] % 5 | number: 3}}</td></tr>')(scope)

我正在记录" el",我可以看到它缺少完整的字符串,它的重复指令位于此键中:

el['0']['data']

希望这是可能的。

从Angular Docs中查看此源。

var $compile = ...; // injected into your code
var scope = ...;
var parent = ...; // DOM element where the compiled template can be appended
var html = '<div ng-bind="exp"></div>';
// Step 1: parse HTML into DOM element
var template = angular.element(html);
// Step 2: compile the template
var linkFn = $compile(template);
// Step 3: link the compiled template with the scope.
var element = linkFn(scope);
// Step 4: Append to DOM (optional)
parent.appendChild(element);

您必须在使用$ Compile编译代码之前对代码进行调整。

希望,这会有所帮助。最好的。

您需要做这样的事情。

var throbberHolder = document.getElementById("throbber-mask");
$compile(throbberHolder)(angular.element(throbberHolder).scope()); or 
$compile(throbberHolder)(throbberHolder.scope());

throbber-mask将是您的<tr>元素的id

最新更新