2014-12-11 2 views
0

내가 같은 텍스트를 가지고 말 :{{변수}} 정의 렌더링 경우에만

The data is ready. Here it is: {{something}} 
내가 somethingundefined이없는 경우 해당 라인을 렌더링하고 싶은

. 어떻게해야합니까? 이 도움이 경우

, 여기에 폭 넓은 맥락에서 그 라인 : 선택 완료 후 {{name_and_uid}} 만 정의

<html> 
<body> 
<div> 
<div class='container-fluid' ng-controller="TypeaheadCtrl"> 

<input type="text" ng-model="selected" 
typeahead="name_and_uid as item.name_and_uid for item in items | 
filter:{name_and_uid: $viewValue} | limitTo:16" 
typeahead-on-select='onSelect($item, $model, $label)' class="form-control"> 

The data is ready. Here it is: {{name_and_uid}} 

</div> 
</body> 
</html> 

.

현재 선택하기 전에 "The data is ready. Here it is:"이 나옵니다. 일단 타이핑을하고 선택을하면 렌더링을 원합니다.

답변

2

당신은 당신의 범위에 정의 할 수 있습니다 : 다음

$scope.isDefined = function(v) { 
      return angular.isDefined(v); 
     }; 

<div ng-show="isDefined(name_and_uid)"> 
    The data is ready. Here it is: {{name_and_uid}} 
</div> 
+0

이 완벽하게 잘 일했다. 감사 –

0

ng-model 길이가 처음 0이라고 가정하면 $scope.selected이 0보다 큰 경우에만 ng-show을 사용하여 해당 줄을 렌더링 할 수 있습니다.

<div ng-show="selected.length > 0"> 
    <span>The data is ready. Here it is: {{name_and_uid}}</span> 
</div>