Angular2 click-Ereignis nicht auslösen.

Ich versuche zu implementieren benutzerdefinierte Paginierung Komponente. Dies ist Vorlage.

<div *ngIf="totalItems != 0">
    <ul class="pagination">
        <li *ngFor="let page of pages" [ngClass]="{'active': currentPage == page.title}">
            <a (click)="changePage(page)">{{page.title}}</a>
        </li>
    </ul>
    <select>
        <option *ngFor="let size of pageSizes">{{size}}</option>
    </select>
</div>

Komponente code:

@Component({
    selector: 'pager',
    templateUrl: 'templates/pager.component.html',
    styleUrls: ['styles/pager.component.css']
})
export class PagerComponent {
    @Input() totalItems: number = 0;
    @Input() lastText: string = "»";
    @Input() firstText: string = "«";
    @Input() nextText: string = "›";
    @Input() prevText: string = "‹";
    public currentPage: number = 1;
    pageSizes: Array<number> = [10, 15, 30];
    public currentSize: number = this.pageSizes[0];

    @Output() pageChanged = new EventEmitter();

    get pages(): Array<IPage> {
        var list = new Array<IPage>();
        let pageCount = Math.ceil(this.totalItems / this.currentSize);
        let start = Math.max(this.currentPage - 1, 1);
        let end = Math.min(this.currentPage + 2, pageCount);
        list.push({ title: this.firstText, number: 1 });
        list.push({ title: this.prevText, number: this.currentPage - 1});
        for (let i = start; i <= end; i++) {
            list.push({ title: String(i), number: i });
        }
        list.push({ title: this.nextText, number: this.currentPage + 1});
        list.push({ title: this.lastText, number: end});
        return list;
    }

    public changePage(page: IPage) {
        this.currentPage = page.number;
        this.pageChanged.emit(null);
    };

    public resetCurrentPage(): void {
        this.currentPage = 1;
    }
}

War ich mit einfachen array von zahlen. Dann wollte ich hinzufügen, dass die Letzte/Erste-Tasten. Ich schrieb Schnittstelle, die enthält zwei Eigenschaften, Titel und Seitenzahl. Jetzt click-Ereignis funktioniert nicht. Was ist falsch an meinem code?

bekommst du irgendwelche Fehler?
Was bedeutet "funktioniert nicht" konkret?
es gibt keine Fehler. @Günter Zöchbauer es ins nichts feuern. Ich habe versucht das erstellen von benutzerdefinierten <div> und binden Sie die gleiche Funktion auf click Es funktioniert gut mit div

InformationsquelleAutor Sergеу Isupov | 2016-09-27

Schreibe einen Kommentar