사용중인 지시문입니다. JSON에서 동적으로 생성 된 이름 목록이 있습니다. 이름을 클릭하면 그 이름에 대한 자세한 정보가있는 창을 표시하거나 숨기려고합니다. 대신 목록의 모든 이름에 대해 모든 창을 표시하거나 숨 깁니다. 내가 클릭 한 창을 표시하거나 숨기고 싶습니다.Ng-repeat를 사용하면 표시/숨기기가 올바르게 작동하지 않음을 나타냅니다.
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 요소를 토글합니다. 당신은 아마 당신의 "요소"변수 (또는 그것의 자식/부모)를 토글 (toggle)하고 싶을 것이다. Angular.element! = element – Noppey
@Rob HTML을 추가했습니다. – iSNSD09