我正在开发基于Angular 2的应用程序。我想知道我们是否可以在HTML事件处理程序中设置一个角度变量,有可能吗? 下面给出的例子(识别图像的加载和显示微调器)是为了解问题。
<img [class.hidden]="!loaded" src="{{imageUrl}}"
onload="{{loaded}}=true;" />
<img *ngIf="!loaded" src="loader.gif" />
错误代码:
browser_adapter.js:77 EXCEPTION: Error: Uncaught (in promise): Template parse errors:
Can't bind to 'onload' since it isn't a known native property ([class.hidden]="!loaded" src="{{imageUrl}}"
[ERROR ->]onload="{{loaded}}=true;" />
答案 0 :(得分:2)
<img [class.hidden]="!loaded" src="{{imageUrl}}"
(load)="loaded=true" />
(eventName)="eventHandler"
用于订阅Angular2中的事件
onload
是load
事件的JavaScript事件处理程序。对于Angular2,您通过省略on
订阅该事件,并仅使用普通事件名称。
<强>提示强>
您应该知道,如果表达式结果为false
,则会导致preventDefault
在事件中被调用
<img [class.hidden]="!loaded" src="{{imageUrl}}"
(load)="loaded=false" />
可以添加;true
,因此整个表达式结果为true
<img [class.hidden]="!loaded" src="{{imageUrl}}"
(load)="loaded=false;true" />