2016-04-26 109 views
0

流星和设置(单击)属性时,我得到以下错误。未处理的承诺拒绝:;区域:角度;任务:

error

我的代码是

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!'); 
    } 

和触发HTML是:

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

每当我点击上面的链接,我得到上述错误。 对不起,如果我错误地格式化了我的问题或错过了任何信息,我在Stack Overflow上询问还是比较新的。

回答

0

看来我已经找到了我自己的问题的答案,虽然我没有经验丰富或足够的知识与Angular2甚至JavaScript来理解为什么。

我的问题的解决方案是,我使用了一个带有click事件的锚标记,我相信这是因为angular有它自己的方式来处理锚标记,并且(click)属性试图干扰该功能。

原文:

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

我还是想知道更多关于这个话题,如果可供选择:

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

被替换。

+0

不幸的是,你不能在评论中使用MD ..但这里是一个尝试,你必须尽可能地解开它。 你的功能需要接受的事件,然后在你的HTML在你 类'对事件调用stopPropagation() ''' (点击)= “createInportGroups($事件)” ''' '' createImportGroups(event){ event.stopPropagation(); //你的其他代码在这里 } ''' –

相关问题