以下内容不会添加表格行,只是在表格中添加标签。有什么想法吗?
HTML:
<div ng-app='app' ng-controller="Ctrl">
<table>
<tbody>
<tr ng-repeat="row in rows" create-table>
<td nowrap ng-repeat="value in row">{{value}}</td>
</tr>
</tbody>
</table>
</div>
JavaScript的:
var app = angular.module('app', [], function () {
})
app.controller('Ctrl', function ($scope) {
$scope.rows = [{
title: 'One'
}]
})
app.directive('createTable', function () {
return function(scope, element, attrs) {
if (scope.$last){
// console.log(element[0]); - table row
angular.element(element[0]).after(
"<tr><td><label>Two</label></td></tr>"
);
}
};
});
如果检查表元素,您将看到:
答案 0 :(得分:3)
您是否有特别的原因想要使用指令执行此操作?
如果没有,你可以这样做:小提琴:http://jsfiddle.net/v27R4/
<div ng-app='app' ng-controller="Ctrl">
<table>
<tbody>
<tr ng-repeat-start="row in rows">
<td nowrap ng-repeat="value in row">{{value}}</td>
</tr>
<tr ng-repeat-end ng-if="$last">
<td><label>Two</label></td>
</tr>
</tbody>
</table>
</div>
有关ng-repeat- [开始/结束]的其他信息,请访问:http://docs.angularjs.org/api/ng.directive:ngRepeat
注意:小提琴中的CSS只是为了表明它在实际的表中