将 $event 值从 [ngStyle] 传递给 .TS 方法
2020-10-22
835
尝试将 $event 变量从 html 传递到 .ts。
(click)="pruebaSwal($event)" 内部运行正常, 但 [style.background-color] 内部出现问题,抛出: “ERROR ReferenceError:$event 未定义”
html 组件
<tr>
<input
type="button"
value="{{indice}}"
id="cp{{contador()}}"
(click)="pruebaSwal($event)" <==this one works fine
[style.background-color]="colorStatus(item.id, $event)"> <== i catch the id, but NOT the $event
</tr>
ts 组件
colorStatus(_id, _event){
let cambio = this.allActivity[_id] //this works fine
let ivi = _event.path[0].id //not finding the _event var
switch (_id) {
...some case functions
}
2个回答
$event 仅在事件绑定(例如:click、focus 等)中传递给组件,并包含有关事件的信息。 在您的例子中,您没有使用事件绑定,而是使用属性绑定,因此没有事件,这就是您收到错误的原因:“ERROR ReferenceError:$event 未定义”
Sara
2020-10-22
不确定我是否理解正确,但也许它会给出一些想法:
<input *ngIf="'cp' + contador() as id"
type="button"
value="{{indice}}"
[id]="id"
(click)="pruebaSwal($event)" <==this one works fine
[style.background-color]="colorStatus(item.id, id)">
P.S. 在模板中调用函数被认为是一种不好的做法 https://medium.com/showpad-engineering/why-you-should-never-use-function-calls-in-angular-template-expressions-e1a50f9c0496
D Pro
2020-10-28