码迷,mamicode.com
首页 > 其他好文 > 详细

angular在模板中使用属性引发Cannot read property 'xxx' of undefined

时间:2017-03-30 22:36:23      阅读:7778      评论:0      收藏:0      [点我收藏+]

标签:mod   异常   not   初始化   efi   any   开始   ng2   cannot   

在使用ng2的过程中,发现模板中如下方式

<li *ngFor="let item of model">

{{item.name}}
</li>

不会又任何问题.

如果是一下未使用结构指令方式,直接使用组件的属性

<li >

{{model.name}}
</li>

就会报错null错误,一开始百思不得其解,后来搞明白,model是异步请求获取的数据,在定义的时候let mode:any 时是属于unde值,而这时组件模板已经开始渲染了,也就会引发异常,知道原因,这就好办了,又两种方式可以处理:

1.定义组件属性的时候初始化对象: let mode:any={};

2.在模板中使用ngIf指令:<li *ngIf="model">{{model.name}} </li>

以上两种方式均能保证组件模板在第一次初始化时不会因为null属性引用引发异常.

 

angular在模板中使用属性引发Cannot read property 'xxx' of undefined

标签:mod   异常   not   初始化   efi   any   开始   ng2   cannot   

原文地址:http://www.cnblogs.com/xuzimian/p/6648882.html

(2)
(3)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!