这是一个简单的例子:
<a ng-if="item.photo == ''" href="#/details/{{item.id}}"><img src="/img.jpg" class="img-responsive"></a>
<a ng-if="item.photo != ''" href="#/details/{{item.id}}"><img ng-src="/{{item.photo}}" class="img-responsive"></a>
Run Code Online (Sandbox Code Playgroud)
我发现它总是会生成item.photo != ''条件,即使该值为空.为什么?
Mar*_*tin 112
您不需要显式使用类似item.photo == ''或的限定符item.photo != ''.与JavaScript一样,空字符串将被评估为false.
您的观点也会更加清晰和可读.
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"></script>
<div ng-app init="item = {photo: ''}">
<div ng-if="item.photo"> show if photo is not empty</div>
<div ng-if="!item.photo"> show if photo is empty</div>
<input type=text ng-model="item.photo" placeholder="photo" />
</divRun Code Online (Sandbox Code Playgroud)
更新以删除Angular中的错误
如果您首先没有项目的照片属性,那么可能item.photo是undefined你的undefined != ''.但是,如果你要提供一些代码来展示你如何提供价值item,那将会有所帮助.
PS:很抱歉发布这个作为答案(我认为这更像是一个评论),但我还没有足够的声誉.
如果你的意思是"空" undefined,那就是解释ng表达式的方式.然后,您可以使用:
<a ng-if="!item.photo" href="#/details/{{item.id}}"><img src="/img.jpg" class="img-responsive"></a>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
183019 次 |
| 最近记录: |