Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular2*ngIf检查模板中的对象数组长度_Angular_Angular2 Template - Fatal编程技术网

Angular2*ngIf检查模板中的对象数组长度

Angular2*ngIf检查模板中的对象数组长度,angular,angular2-template,Angular,Angular2 Template,引用并堆栈仍在获取语法错误自我上下文未定义。如果我删除*ngIf条件,那么如果我将一些值放入其中,那么我将获得团队成员中的值,这样我就可以访问团队成员中的值 我的teamMember对象是[]数组我正在尝试检查数组大小是否为空的条件 尝试: <div class="row" *ngIf="(teamMembers | json) != '{}'"> 任何帮助都很好。您可以使用*ngIf=“teamMembers!=0”检查数据是否存在 这首先检查teamMembers是否有值,如

引用并堆栈仍在获取语法错误自我上下文未定义。如果我删除*ngIf条件,那么如果我将一些值放入其中,那么我将获得团队成员中的值,这样我就可以访问团队成员中的值

我的
teamMember
对象是
[]数组
我正在尝试检查数组大小是否为空的条件

尝试:

<div class="row" *ngIf="(teamMembers | json) != '{}'">

任何帮助都很好。

您可以使用
*ngIf=“teamMembers!=0”
检查数据是否存在
这首先检查
teamMembers
是否有值,如果
teamMembers
没有值,它不会尝试访问
undefined
length
,因为条件的第一部分已经失败了。

这篇文章也帮我弄清楚了为什么它对我不起作用。这给了我一个教训,让我思考网页加载以及angular 2如何作为时间线进行交互,而不仅仅是我思考的时间点。我没有看到其他人提到这一点,所以我会


之所以需要*ngIf,是因为它会在其他OnInit操作发生之前检查该变量的长度,并抛出“length undefined”错误。这就是为什么你要添加这个?因为它还不存在,但很快就会存在

可能有点过分,但创建的库会检查对象、集合、映射或数组是否为空。也许它会帮助别人。它具有与ngIf相同的功能(然后,支持else和as语法)

arrayOrObjWithData=['1']|{id:1}
你会看到的
或
//将异步管道的结果存储在变量中
{{obj.id}
或
noData=[]| |{}
你不会看到的
您可以使用

<div class="col-sm-12" *ngIf="event.attendees?.length">

没有
event.attenders?length>0
甚至
event.attenders?length!=0

因为
?.length
已返回布尔值


如果在数组中是某个内容,它将显示它,而不是其他内容。

“抛出语法错误”确切的错误消息是什么?原始异常:TypeError:self.context.teamMembers不是*ngIf=“teamMembers.length>0”的函数我将尝试下面的答案1分钟。请确认指向
安全导航运算符的链接是否正确。
:这可能会引发运算符“>”无法应用于“boolean”和“number”类型。使用--aot或prod优化构建时
@Component({
selector: 'pbi-editor',
})
export class AppComponent implements OnInit {
teamMembers: User[];
arrayOrObjWithData = ['1'] || {id: 1}

<h1 *ngxIfNotEmpty="arrayOrObjWithData">
  You will see it
</h1>

 or 
 // store the result of async pipe in variable
 <h1 *ngxIfNotEmpty="arrayOrObjWithData$ | async as obj">
  {{obj.id}}
</h1>

 or

noData = [] || {}
<h1 *ngxIfHasItems="noData">
   You will NOT see it
</h1>
<div class="col-sm-12" *ngIf="event.attendees?.length">