2016-04-26 7 views
0

Meteor und beim Einrichten eines (Klick-) Attributs erhalte ich den folgenden Fehler.Unbehandelte Versprechen Ablehnung:; Zone: eckig; Aufgabe:

error

Mein Code ist

import { Component, NgZone, AfterContentInit } from 'angular2/core'; 
import { NgIf, NgFor } from 'angular2/common'; 
import { Accounts } from 'meteor/accounts-base'; 
import { RouterLink, RouteConfig, Router, ROUTER_DIRECTIVES } from 'angular2/router'; 
import { CapitalizePipe } from '../../../../lib/pipes/capitalize.ts'; 
import { Groups } from '../../../../collections/groups.ts'; 
import { MeteorComponent } from 'angular2-meteor/meteor_component'; 
import { Meteor } from 'meteor/meteor'; 

@Component({ 
    selector: 'manage-players', 
    templateUrl: '/client/components/loggedIn/players/manage-players.html', 
    directives: [ RouterLink, NgIf, NgFor ], 
    pipes: [CapitalizePipe] 
}) 

export class ManagePlayers extends MeteorComponent { 
    importPlayers: Object; 
    groups: Mongo.Cursor; 
    pendingImport_placementGroups: Array; 
    pendingImport_players: Array; 

    constructor(zone:NgZone){ 
    super(); 
    var that = this; 
    this.subscribe('groups',() => { 
     this.groups = Groups.find(); 
    },true); 
    } 

    createImportGroups() { 
    console.log('Do something!'); 
    } 

Und das auslösende html ist:

<a href="#!" class="create-import-groups btn-flat" (click)="createImportGroups()" >Create Groups</a> 

Jedes Mal, wenn ich auf den Link oben ich die obigen Fehler erhalten. Entschuldigung, wenn ich meine Frage falsch formatiert habe oder irgendwelche Informationen verpasst habe, bin ich immer noch relativ neu bei der Frage nach Stack Overflow.

Antwort

0

Es scheint, dass ich die Antwort auf meine eigene Frage gefunden habe, obwohl ich nicht genug Erfahrung mit Angular2 oder sogar Javascript habe, um zu verstehen, warum. Die Lösung für mein Problem war die Tatsache, dass ich ein Anchor-Tag mit dem click -Ereignis verwendete, und ich glaube, weil angular seine eigene Methode zur Handhabung von Anchor-Tags hat und das (click) -Attribut versucht, diese Funktionalität zu stören .

Original:

<a href="#!" class="create-import-groups btn-flat" (click)="createImportGroups()" >Create Groups</a> 

Ersetzt durch:

<button class="create-import-groups btn-flat" (click)="createImportGroups()" >Create Groups</button> 

ich immer noch, wenn vorhanden mehr zu diesem Thema wissen möchte.

+0

Leider können Sie MD nicht in Kommentaren verwenden .. aber hier ist ein Versuch, Sie müssen es so gut wie möglich entwirren. Ihre Funktion muss das Ereignis und rufen Sie dann stopPropagation() auf das Ereignis in Ihrem HTML '' ' (Klick) = "createInportGroups ($ event)" ' '' in Ihrer Klasse 'akzeptieren '' createImportGroups (Ereignis) { event.stopPropagation(); // Ihr anderer Code hier } '' ' –

Verwandte Themen