当string包含时,AngularJS仅显示div

时间:2014-07-17 09:21:26

标签: angularjs hide show

如果在json filename中包含例如jpg string?

,AngularJS中的div只显示div

我在json中有一个带有.jpg pdf和其他内容的文件列表。我使用ng-repeatfilter{filename:'jpg'}来显示主题。它工作正常。但是当jpg不存在时如何隐藏div?

<div>
   <div>JPG FILES</div>
   <ul ng-repeat="">
     <li>name<a href='#'>download</a></li>
   </ul>
</div>

3 个答案:

答案 0 :(得分:0)

这样的事情?

ng-show="filename == 'jpg'"

文件名必须在您的范围内

在你的控制器中

$scope.filename = "jpg";

答案 1 :(得分:0)

HTML:

<div>
   <div ng-if="hasImage">JPG FILES</div>
   <ul ng-repeat="">
     <li>name<a href='#'>download</a></li>
   </ul>
</div>

JS:

$scope.hasImage = function()
{
   if(yourjsonfile.indexOf("jpg") > -1)
    {
       return true;
    }else
    {
       return false;
      }

  } 

答案 2 :(得分:0)

我仍然不确定你想要什么,但如果过滤结果为空,这将隐藏外部div。

<div ng-hide="filteredResults.length === 0">
   <div>JPG FILES</div>
   <ul ng-repeat="attachment in filteredResults = (example.attachments | filter: {file_name:'jpg'})">
     <li>{{attachment.file_name}}<a href='#'>download</a></li>
   </ul>
</div>

希望这有帮助。