CẬP NHẬT : Câu trả lời này đã lỗi thời. Vui lòng xem câu trả lời của @IgorMinar và sử dụng tiêu chuẩn ng-repeat-start
và ng-repeat-end
chỉ thị.
Có hai lựa chọn:
Tùy chọn đầu tiên là tạo chỉ thị sẽ hiển thị một số thẻ và thay thế thẻ nguồn ( jsfiddle )
<div multi ></div>
angular.module('components').directive('multi', function ($compile) {
return {
restrict: 'A',
scope : {
first : '=',
last : '=',
},
terminal:true,
link: function (scope, element, attrs) {
var tmpl = '', arr = [0,1,2,3]
for (var i in arr) {
tmpl +='<div>another div</div>'
}
var newElement = angular.element(tmpl);
$compile(newElement)(scope);
element.replaceWith(newElement);
}
})
Tùy chọn thứ hai là sử dụng mã nguồn được cập nhật của góc cho phép kiểu bình luận ngRepeat chỉ thị ( plnkr )
<body ng-controller="MainCtrl">
<div ng-init="arr=[0,1,2]" ></div>
<!-- directive: ng-repeat i in arr -->
<div>{{i}}</div>
<div>{{ 'foo' }}</div>
<!-- /ng-repeat -->
{{ arr }}
<div ng-click="arr.push(arr.length)">add</div>
</body>