angular 指令渲染_Angular 界面元素的条件渲染

我有一个Angular list:

点击列表元素,我期望在明细区域看到点击元素对应的明细:

02e420d05477

实现方式是,给li元素注册click事件响应函数:

02e420d05477

语法为:

My Heroes

  • {{everyhero.id}} {{everyhero.name}}

在Component里实现事件响应函数的代码:

定义selectedHero属性,用于维护当前选中的hero信息:

02e420d05477

在明细页面里显示selectedHero的字段值:

{{selectedHero.name | uppercase}} Details

id: {{selectedHero.id}}

name:

然而应用不能按照期望的工作:

02e420d05477

Chrome开发者工具console标签页里报的错误:

ERROR TypeError: Cannot read property 'name' of undefined

02e420d05477

问题的根源是,selectedHero这个property,在应用程序初始化时是undefined,因为当前用户尚未点击任何一个li元素。解决办法是使用 Angular的指令*ngIf进行条件渲染:

{{selectedHero.name | uppercase}} Details

id: {{selectedHero.id}}

name:

之后问题消失:

02e420d05477

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

02e420d05477

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值