gpt4 book ai didi

javascript - 如何在不使用指令的情况下更改 html 事件处理程序中的 Angular 属性?

转载 作者:行者123 更新时间:2023-11-30 15:54:48 25 4
gpt4 key购买 nike

我正在开发基于 Angular 2 的应用程序。我想知道我们是否可以在 HTML 事件处理程序中设置一个 Angular 变量,有什么可能的方法吗?下面给出的示例(识别图像加载并显示微调器)是为了让您了解该问题。

<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;" />

最佳答案

<img [class.hidden]="!loaded" src="{{imageUrl}}" 
(load)="loaded=true" />

(eventName)="eventHandler" 用于订阅 Angular2 中的事件。
onloadload 事件的 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" />

关于javascript - 如何在不使用指令的情况下更改 html 事件处理程序中的 Angular 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38738595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com