搜索

首页  >  问答  >  正文

javascript - angualr2中emit触发一个方法然后怎么获得这个promise的结果

现在写了一个direactive来代替click操作,在点击后按钮disable掉,比如click是调用登陆的方法,在登陆service的promise结束后恢复按钮。
现在可以模拟click,把按钮disabled,但是获得不到promise的结果,请问有没有什么好的方法?

//directive (大概的代码)

@Output() czClick  = new EventEmitter();
@HostListener("click",["$event"])
    onClick(e){
        this.renderer.setElementAttribute(this.element.nativeElement,'disabled','true');
        this.czClick.emit(e);
      
    }
//html
<button cz-click (czClick)="login()">登录</button>

主要就是this.czClick.emit(e);这边获得不到login的promise结果,就不能在结束状态修改button的效果。

求教0-0

習慣沉默習慣沉默2764 天前813

全部回复(1)我来回复

  • phpcn_u1582

    phpcn_u15822017-05-27 17:46:24

    (czClick)="login($event)"吧?

    回复
    0
  • 取消回复