在AJAX请求之后,有时我的应用程序可能会返回一个空对象,例如:
var a = {};
Run Code Online (Sandbox Code Playgroud)
我怎样才能检查是否是这种情况?
如何确定变量undefined还是null?我的代码如下:
var EmpName = $("div#esd-names div#name").attr('class');
if(EmpName == 'undefined'){
//DO SOMETHING
};
Run Code Online (Sandbox Code Playgroud)
<div id="esd-names">
<div id="name"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
但是如果我这样做,JavaScript解释器会暂停执行.
参考https://angular.io/docs/ts/latest/guide/displaying-data.html和堆栈如何使用*ngIf检查角度2模板中的空对象仍然得到语法错误自我上下文未定义.如果我删除*ngIf条件然后我在teamMembers中获取值,如果我将一些值推入其中,以便我可以访问teamMembers中的值.
我的teamMember对象是[ ] array我试图检查条件数组是否为空大小.
尝试:
<div class="row" *ngIf="(teamMembers | json) != '{}'">
Run Code Online (Sandbox Code Playgroud)
和
<div class="row" *ngIf="teamMembers.length > 0"> //Check length great than
throwing syntax error
<div class="col-md-12">
<h4>Team Members</h4>
<ul class="avatar" *ngFor="let member of teamMembers">
<li><a href=""><gravatar-image [size]="80" [email]="member.email"></gravatar-image></a></li>
</ul>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
零件 :
@Component({
selector: 'pbi-editor',
})
export class AppComponent implements OnInit {
teamMembers: User[];
Run Code Online (Sandbox Code Playgroud)
任何帮助都会很棒.
我有一个关于检查对象中是否存在某个字段的问题.
我想打印用户拥有的所有类别,所以我正在做这样的事情:
<ul *ngIf="user.categories.length > 0" *ngFor="#category of user.categories">
<li>
{{category.name}}
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
原因?所有数据都是正确打印的,但我在Web控制台中遇到如下错误:
Cannot read property 'name' of null
Run Code Online (Sandbox Code Playgroud)
但当我做类似的事情时:
<ul *ngIf="user.categories.length > 0" *ngFor="#category of user.categories">
<li *ngIf="category">
{{category.name}}
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
那一切都没问题.
我做错了什么或者我每次都要检查一下吗?你有过这样的问题吗?
如何在Angular 2中检查变量是否为空?我知道有一些本地方式,比如
if (myVar === null) {do stuff}
但我正在寻找像Angular 1这样的东西
if (angular.isEmpty(variable)) { do stuff }.
问如何使用Angular 2检查变量是否为空?