在AngularJS中,不能在指令的模板中直接使用ng-repeat。这是因为指令的模板在编译时会被解析为HTML字符串,并且ng-repeat的指令需要在AngularJS编译阶段进行解析。
解决方法是在指令的link函数中手动解析ng-repeat指令,并将解析后的HTML字符串插入到指令的模板中。以下是一个示例代码:
AngularJS Directive with ng-repeat in Template
在上述代码中,我们定义了一个包含ng-repeat指令的模板字符串template
,然后使用angular.element
将其编译为一个AngularJS元素。接下来,我们使用element.append
将编译后的模板插入到指令的元素中。
这样,我们就成功地在指令的模板中使用了ng-repeat指令。