Winkel 5 klicken Sie auf binden, um Anker-tag

Ich zu binden, müssen Sie ein click-Ereignis auf einen Anker in mein template:

Mein html sieht so aus:

<a (click)="deleteUser(user)">
    <i class="la la-trash"></i>
</a>

user ist eine variable aus einer früheren *ngFor="let user of users"

Den deleteUser() Funktion deklariert ist auf meinem users.component.ts Datei:

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",
                        });
                    });
            }
          });
    }

}

Jedoch das click-Ereignis nie ausgelöst wird. Es geht einfach nicht, nichts tun. Keine Fehler, nichts.
Ich habe versucht, eine Menge von Variationen zu versuchen, damit es funktioniert:

  • routerLink=""
  • [routerLink]=""
  • href=""
  • href="#"
  • href="#!"
  • href="!#"
  • Ändern <a> tag für <div>, <span>, <div>, <button> aber keiner war

Habe ich versucht, dieses eine andere Frage aber ich denke, es hat nicht funktioniert, weil es ist Angular2 (ich bin mit Winkel-5).

Dem template das ich verwende, ist Metronic (nur für den Fall relevant ist)

Wie Sie wissen, es ist nie gefeuert? Ich meine, wie hast du Debuggen ?
Also, ich gehe davon aus, dass Ihre Warnung nicht zeigen, bis Sie entweder? Basierend auf Ihren Kommentar auf die andere Antwort, die ich nehme an, Sie haben versucht zu console.log() vor dem Aufruf swal(). Dies ist in der Tat merkwürdig. Hat die Konsole zeigt keine Fehler geschehen, bevor die (auf -) Veranstaltung könnte registriert werden? Oder ist Ihre Konsole leer und "sauber", ohne irgendwelche Warnungen, Fehler oder irgendetwas? Hast du debug zum Beispiel mit VSCode und Chrome-Debugger?
Dies ist eine alte Frage, aber es wäre gut zu wissen was da passiert ist. @AgashThamo. Ja, die Konsole zeigte leer und sauber. Keine Fehler, keine Warnungen, nichts. Von diesem Zeitpunkt wusste ich nicht, wie die VSCode debugger. Aber ich benutzt die javascript - debugger - Funktion, aber es schien nie zu, dass die Funktion

InformationsquelleAutor javierojeda | 2018-01-09

Schreibe einen Kommentar