jav*_*eda 3 events typescript angular5
我需要在模板的锚点上绑定click事件:
我的html看起来像这样:
<a (click)="deleteUser(user)">
<i class="la la-trash"></i>
</a>
Run Code Online (Sandbox Code Playgroud)
user 是上一个变量 *ngFor="let user of users"
该deleteUser()函数在我的users.component.ts文件中声明:
import { Component, OnInit, ViewEncapsulation, AfterViewInit } from '@angular/core';
import { Helpers } from '../../../../helpers';
import { ScriptLoaderService } from '../../../../_services/script-loader.service';
import { User } from '../../../../models/user';
import { UsersService } from '../../../../_services/users.service';
import swal from 'sweetalert';
@Component({
selector: ".m-grid__item.m-grid__item--fluid.m-wrapper",
templateUrl: "./users.component.html",
styleUrls: ["./users.component.scss"],
encapsulation: ViewEncapsulation.None,
})
export class UsersComponent implements OnInit, AfterViewInit {
users: User[];
constructor(
private _script: ScriptLoaderService,
private usersService: UsersService
) { }
ngOnInit() {
this.getUsers();
}
getUsers(): void {
this.usersService.getUsers()
.subscribe(users => this.users = users)
}
ngAfterViewInit() {
this._script.load('.m-grid__item.m-grid__item--fluid.m-wrapper',
'assets/app/js/users.js');
}
deleteUser(user: User): void {
swal({
title: `Eliminar usuario ${user.name}`,
text: "Una vez eliminado, toda su información será eliminada!",
icon: "warning",
dangerMode: true,
})
.then((willDelete) => {
if (willDelete) {
this.usersService.deleteUser(user.id)
.subscribe(() => {
swal("Usuario eliminado", {
icon: "success",
});
});
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
但是,单击事件永远不会触发。它根本什么也没做。没有错误,没事。我尝试了很多变体来使其正常工作:
<a>标签为<div>,<span>,<div>,<button>但没有工作我尝试了另一个问题,但我认为它不起作用,因为它是Angular2(我正在使用Angular 5)。
我使用的模板是Metronic(以防万一相关)
小智 5
我面临着同样的问题,找到解决方案只需添加class ='btn'即可。
<a class ='btn' ><i (click)="deleteUser(user)" class="la la-trash"></i></a>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32940 次 |
| 最近记录: |