我无法理解嵌套指令如何与 AngularJS 一起使用。
var app = angular.module('plunker', []);
app.directive('myTable', function() {
return {
restrict: 'E',
template: [
'<table class="table table-query" ng-show="queries.length">',
'<thead>',
'<tr>',
'<th class="query-name">Name</th>',
'<th class="query-status">Status</th>',
'</tr>',
'</thead>',
'<tbody>',
'<my-row ng-repeat="query in queries track by $index"',
'query="query">',
'</my-row>',
'</tbody>',
'</table>',
].join(''),
scope: {
queries: '='
},
controller: function() {
},
link: function(scope, element) {
}
};
});
app.directive('myRow', function() {
return {
restrict: 'E',
template: [
'<tr class="query query-status-{{query.status}}">',
'<td>{{ query.name }}</td>',
'<td>{{ query.status | uppercase }}</td>',
'</tr>',
].join(''),
scope: {
query: '='
},
replace: true
};
});
有人可以向我解释为什么tr
显示在外部tbody
?
我只想做的是将行指令嵌套在表指令中。我很确定我错过了ng-transclude
某处但在哪里?我查过angular-bootstrap
他们似乎玩了一下compile
功能。任何帮助深表感谢。
看到这个对应的plunker http://plnkr.co/edit/OeKEdH3GtHS9WTMcfpEF?p=preview.