2017-12-22 26 views
0

AngularJS에 대한 "도구 설명"을 표시하는 데 도움이 필요합니다. 문제는 내가 테이블에 ng-repeat을 가지고 있고 어떤 행에 나는 풍선 도움말 위에 툴팁을 보여줄 것으로 보여지는 버튼을 보여주고있다.AngularJS 도움말 - ng-repeat

툴팁이 보이지만 문제는 하나의 행에 마우스를 가져 가면 툴팁이 모든 행에 대해 표시된다는 것입니다. 이미지를 설명하기 위해 더 잘 maby는 : enter image description here

이 컨트롤러에 내 코드입니다 :

$scope.demo = { 
      showTooltip: false, 
      tipDirection: 'right' 
     }; 

하고 필요한 경우이 내 테이블 :

<md-card ng-repeat="container in containers | toArray:false | filter:searchText.container.name"> 

    <md-toolbar> 
     <div class="md-toolbar-tools"> 
      <h3> 
       <span>{{container.account_name}}</span> 
      </h3> 
     </div> 
    </md-toolbar> 

    <md-card-title> 
     <table class="table"> 
      <thead> 
      <tr> 
       <th>AccountName</th> 
       <th>AccountID</th> 
       <th>ContainerID</th> 
       <th>ContainerName</th> 
       <th>Options</th> 
      </tr> 
      </thead> 
      <tbody> 
      <tr> 
       <td><a href="{{container.tagManagerUrl}}">{{container.account_name }}</a></td> 
       <td>{{ container.accountId }}</td> 
       <td>{{ container.containerId }}</td> 
       <td ng-if="!container.missing_live"><a href="/gui/tags/{{container.path}}">{{container.name}}</a></td> 
       <td ng-if="container.missing_live">{{container.name}} 


        <md-tooltip md-visible="demo.showTooltip">Missing Live Container</md-tooltip> 
        <ng-md-icon icon="warning" size="20" style="fill: #ffd600"></ng-md-icon> 


       </td> 




       <td> <md-button class="md-icon-button" aria-label="More"> 
        <ng-md-icon icon="more_vert"></ng-md-icon> 
       </md-button></td> 
      </tr> 
      </tbody> 
     </table> 
    </md-card-title> 
</md-card> 

이가 테이블에있는 툴팁의 줄 :

<md-tooltip md-visible="demo.showTooltip">Missing Live Container</md-tooltip> 
        <ng-md-icon icon="warning" size="20" style="fill: #ffd600"></ng-md-icon> 

내 목표는 사용자가 가리키는 도구 설명 만 표시하는 것입니다. 모두가 테이블에있는 것은 아닙니다. 감사합니다

+1

시도가 컨테이너 개체에'showTooltip'을 추가하고 @zabusa – zabusa

답변

3

showTooltip을 컨테이너 객체에 추가하십시오.

<md-toolbar> 
    <div class="md-toolbar-tools"> 
     <h3> 
      <span>{{container.account_name}}</span> 
     </h3> 
    </div> 
</md-toolbar> 

<md-card-title> 
    <table class="table"> 
     <thead> 
     <tr> 
      <th>AccountName</th> 
      <th>AccountID</th> 
      <th>ContainerID</th> 
      <th>ContainerName</th> 
      <th>Options</th> 
     </tr> 
     </thead> 
     <tbody> 
     <tr> 
      <td><a href="{{container.tagManagerUrl}}">{{container.account_name }}</a></td> 
      <td>{{ container.accountId }}</td> 
      <td>{{ container.containerId }}</td> 
      <td ng-if="!container.missing_live"><a href="/gui/tags/{{container.path}}">{{container.name}}</a></td> 
      <td ng-if="container.missing_live">{{container.name}} 


       <md-tooltip md-visible="container.showTooltip">Missing Live Container</md-tooltip> 
       <ng-md-icon icon="warning" size="20" style="fill: #ffd600"></ng-md-icon> 


      </td> 




      <td> <md-button class="md-icon-button" aria-label="More"> 
       <ng-md-icon icon="more_vert"></ng-md-icon> 
      </md-button></td> 
     </tr> 
     </tbody> 
    </table> 
</md-card-title> 
당신이 범위에 걸쳐 같은 데모 개체를 사용하고 있기 때문에입니다

+0

감사합니다'MD-볼 수 = "container.showTooltip"'에 그것을 통과, 그것은 :) 일 – Asim

+0

@Asim 오신 것을 환영합니다! – zabusa

1

.

데모를 모든 컨테이너 객체에 속성으로 추가하고 관련 데모를 사용하십시오.

$scope.containers.forEach(container => { container.demo = { 
       showTooltip: false, 
       tipDirection: 'right' 
      }} 
      ); 

그리고

페이지에서 :

<md-tooltip md-visible="container.demo.showTooltip">Missing Live Container</md-tooltip> 
+0

그가 처음 대답 한 이래로 @zabusa의 대답을 받아 들여야 만했지만 답변도 잘 맞았습니다 :) 감사합니다. – Asim

+0

알아요. 그의 첫 번째였다. upvote 주셔서 감사합니다. – dev8080