我想製作表格指令,但我不知道該怎麼做。這是我的源代碼。Angular table directive
指令:
InterfaceModule.directive('gList', function() {
return {
restrict: 'AEC',
transclude: true,
templateUrl: 'interface/gList.html'
};
});
gList.html:
<table class="table table-condensed">
<tr>
<td style="width: 20px">
<span class="icon-f-gear-small"></span>
</td>
<td ng-transclude>
</td>
</tr>
</table>
控制器:
App.controller('ResultController', ['$scope', function($scope) {
$scope.testItems = ['element 1', 'element 2', 'element 3']
}])
HTML代碼:
<div ng-controller="ResultController">
<g-list>
<a href="#" ng-click="someFunction()">{{item}}</a>
</g-list>
</div>
我需要在<tr>
標記中使用ng-repeat,儘管我不想在指令模板中使用它,但我希望它在我的主html文件中使用。如果我在g-list標記(<g-list ng-repeat="item in testItems">
)中使用它,我得到了數組中每個元素的單獨表,我需要一個表和等於數組大小的行數(在這種情況下,一個表包含3行)。所以問題是如何改變我的解釋指令。提前致謝!
UPDATE
謝謝回答。 現在有點更清楚了,但我仍然有幾個問題。主要的想法是,我想在最後的是這樣的:
<g-list icon="gear-small">
<g-entry function="someFunction()">Sąrašo elementas 1</g-entry>
<g-entry link="/some/url" count="20">Sąrašo elementas 2</g-entry>
<g-entry link="/some/url" disabled="Netinkama objekto būsena">Sąrašo elementas 3</g-entry>
</g-list>
將有條目時我需要調用函數將會有條目,我將不得不去上CLIK事件的一些網址。
Transclude在這裏是不合適的,請參閱https://github.com/angular/angular.js/issues/7874 – AlexFoxGill 2014-10-02 10:51:43
感謝您的迴應!我對指令很陌生,也許你可以幫助我將指令轉換成我想要的指令,或者給出一些類似的例子? – Egizeris 2014-10-02 11:01:48