使用ng-repeat的AngularJS条件语句

19 浏览
0 Comments

使用ng-repeat的AngularJS条件语句

我正在尝试在repeat语句中使用if,但遇到了问题。

我正在获取数据,如下所示:

modules: Array[1]
    0: Object
        embed: "" type: "embed" 1: Object src: "https://m1.behance.net/rendition/modules/127899607/disp/072cebf2137c78359d66922ef9b96adb.jpg" type: "image"

因此,如果模块的类型是图像,则我想获取图像。如果它的类型是嵌入式,则我想获取iframe。我的当前视图代码如下:

    {{ project.name }}

如果我去掉ng-if,它可以很好地工作。控制台将输出以下错误:

Error: Multiple directives [ngRepeat, ngIf] asking for transclusion on: 

admin 更改状态以发布 2023年5月19日
0
0 Comments

这是因为你必须在ng-repeat块内部执行if条件。例如:\n\n

   

\n\n为什么需要在ng-repeat旁边使用ng-if?

0
0 Comments

你可以使用过滤器而不是使用ngIf。你的代码应该是这样的:


然后它应该可以工作。

你尝试在你的代码中实现的解决方案是不可能的,因为ngIf和ngRepeat都试图删除和替换一些元素并进行一些转换。

查看这个问题https://github.com/angular/angular.js/issues/4398

还要检查过滤器的用法https://docs.angularjs.org/tutorial/step_09

使用ngRepeat和过滤器时,这个问题可能会有用ng-repeat :filter by single field

0