這是我使用的指令,有一個從JSON動態生成的名稱列表。當你點擊一個名字時,它假設顯示/隱藏一個窗口,其中有關於該名字的更多信息。相反,它會顯示/隱藏列表中每個名稱的每個窗口。我希望它只顯示/隱藏我點擊的那個窗口。吳重複使用點擊顯示/隱藏不能正常工作
JS:
app.directive("taskListing", function() {
return {
restrict: 'E',
templateUrl: "/templates/elements/tasklisting.html",
scope: {},
link: function(scope, element, attrs, $sce){
element.on("click", function(){
angular.element("tbody.task-tbody tr").toggleClass("hidden");
});
},
};
});
HTML:
<table class="table" ng-controller="taskController">
<tbody class="task-tbody" ng-repeat="task in tasks" ng-if="task.title != ''">
<tr >
<td>
<span class='tasks-task'>{{task.title}}</span>
</td>
</tr>
<!--This table row is toggled show/hide-->
<tr class="hidden" bgcolor="#F8F8F8" >
<td>
<strong>Description:</strong>
<p>{{task.description}}</p>
</td>
</tr>
</tbody>
</table>
你能提供html嗎? – Rob
您可以切換每個tr元素。你可能想要在你的「元素」變量(或者它的某個孩子/父母)上進行分類。 Angular.element!=元素 – Noppey
@Rob我添加了HTML – iSNSD09