Joã*_*cas 11 javascript if-statement angularjs
我在尝试使用if和重复声明时遇到了麻烦.
我正在获取数据,如下所示:
modules: Array[1]
0: Object
embed: "<iframe width="600" height="338" src="https://www.youtube.com/embed/UqdDAn4_iY0"
frameborder="0" allowfullscreen="" style="margin:0px auto;display:block;"></iframe>"
type: "embed"
1: Object
src: "https://m1.behance.net/rendition/modules/127899607/disp/072cebf2137c78359d66922ef9b96adb.jpg"
type: "image"
Run Code Online (Sandbox Code Playgroud)
所以,如果模块有一种图像,我想得到图像.如果它有类型嵌入,我想得到iframe.我目前的观看代码是:
<div ng-repeat="project in project.modules" ng-if="project.type == 'image'">
<img src="{{ project.src }}" class="img-responsive img-centered" alt="{{ project.name }}"/>
</div>
Run Code Online (Sandbox Code Playgroud)
如果我拿出ng-if,它效果很好.控制台输出以下错误:
Error: Multiple directives [ngRepeat, ngIf] asking for transclusion on: <!-- ngRepeat: project in project.modules -->
Run Code Online (Sandbox Code Playgroud)
fik*_*kry 24
您可以使用过滤器而不是使用ngIf.你的代码应该是这样的:
<div ng-repeat="project in project.modules | filter: { type: 'image' }">
Run Code Online (Sandbox Code Playgroud)
它应该工作.
您尝试在代码中尝试执行的解决方案不能像ngIf和ngRepeat那样尝试删除和替换某些元素并进行一些转换.
请查看此问题https://github.com/angular/angular.js/issues/4398
另请检查过滤器的使用情况https://docs.angularjs.org/tutorial/step_09
这个问题对于使用ngRepeat和过滤器ng-repeat是有用的:按单个字段过滤
nsa*_*lar 10
这是因为你必须在ng-repeat块中执行if条件.例如:
<label ng-repeat="elem in list">
<div ng-if="...">
show something for this condition
</div>
</label>
Run Code Online (Sandbox Code Playgroud)
为什么你需要ng-if和ng-repeat一起?
小智 7
这应该只在屏幕上显示"article"和"article1"
<li ng-repeat="value in values" ng-if="value.name == 'article' || value.name == 'article1'">
<label>{{value.name}}</label>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38023 次 |
| 最近记录: |