2014-06-13 5 views
12

값이 비어 있으면 표 셀에 줄 바꿈하지 않는 공백을 표시해야합니다.값 비어있는 경우 각도 표시

<td class="licnum">{{participant.LicenseNumber}}</td> 

내가 이것을 시도했지만 작동하지 않습니다 :

enter image description here

경우 : 여기

<td class="licnum">{{participant.LicenseNumber} || "$nbsp;"}</td> 

가 null 값을 반환하여 문제의이 내 템플릿입니다 라이선스 번호가 Null 값으로오고 셀이 비어 있고 행 색상이이 모양입니다.

는 lucuma의 제안을 사용하여이 보여줍니다

필터의 경우 문을 변경하면, 여전히 null 이외의 값이 표시되지 않습니다 후

enter image description here

:

enter image description here

+0

필터를 사용하십시오. {{participant.LicenseNumber | myEmptyChkFilter}} –

+0

myEmptyChkFilter 란 무엇입니까? – MB34

+0

각도 필터를 만들어야합니다. https://docs.angularjs.org/guide/filter –

답변

11

을 당신 일해야 해. 닫기이 누락되어 있고 제거해야하는 표현의 중간에 하나가 있습니다.

다음은 솔루션 작동과 ng-if를 보여주는 데모입니다. http://plnkr.co/edit/UR7cLbi6GeqVYZOauAHZ?p=info

필터는 아마 갈 수있는 길입니다,하지만 당신은 그것을 할 수있는 간단한 NG-경우 (어느 TD 또는 심지어 범위에) 또는 NG 프로그램 :

<td class="licnum" ng-if="participant.LicenseNumber">{{participant.LicenseNumber}}</td> 
<td class="licnum" ng-if="!participant.LicenseNumber">&nbsp;</td> 

또는

<td class="licnum"><span ng-if="participant.LicenseNumber">{{participant.LicenseNumber}}</span><span ng-if="!participant.LicenseNumber">&nbsp;</span></td> 

컨트롤러/필터에 코드를 추가 할 필요가없는 대체 솔루션으로이 기능을 제공하고 있습니다.

이 방법에 대해 조금 읽을 수 있습니다 if else statement in AngularJS templates

+0

감사합니다. plnk는 헬로우 월드의 예입니다. – MB34

+0

plnk가 업데이트되었습니다.원래 (고정) 솔루션과 ng-if 솔루션을 모두 보여줍니다. http://plnkr.co/edit/UR7cLbi6GeqVYZOauAHZ?p=info – lucuma

+0

필터에 문제가 발생하면이 작업을 수행하는 더 간단한 방법 인 것처럼 보이며 데이터를 테이블에 올바르게 표시합니다. 나는 받아 들인 대답을 바꾸고있다. – MB34

6
angular.module('myApp',[]) 
    .filter('chkEmpty',function(){ 
     return function(input){ 
      if(angular.isString(input) && !(angular.equals(input,null) || angular.equals(input,''))) 
       return input; 
      else 
       return '&nbsp;'; 
     }; 
    }); 

이이 같은 ngSanitize's 지시 ng-bind-html를 사용해야합니다 작동하도록 @Donal 순서대로 말했다 것처럼 :

<td class="licnum" ng-bind-html="participant.LicenseNumber | chkEmpty"></td> 

편집 : 여기

은 간단한 예제 : http://jsfiddle.net/mikeeconroy/TpPpB/

+0

실제로 이것을 사용하는 것은 실제로 셀에 ' '을 보여주기 때문에 이상하지는 않습니다. ''''반환하도록 변경하면 빈 행으로 표시되어 행 색칠에 문제가 발생합니다. – MB34

+0

'ng-bind-html'은 문자열을 html로 해석하고 ' '을 적절하게 변환해야합니다. 지시문이 작동하려면 모듈에'ngSanitize'를 포함시켜야합니다. –

+0

내 선언에 ngSantize를 추가하면 오류가있는 Uncaught Object가 생깁니다. – MB34

관련 문제