2016-04-11 40 views
6

我正在使用這個偉大的angular2-modal,但無法弄清楚如何從我的自定義模式中返回結果值。如何從angular2-modal返回結果,或者一般從ng2-components返回結果

我實例是這樣的:

let dialog: Promise<ModalDialogInstance>; 
    let bindings = Injector.resolve([ 
     provide(ICustomModal, { useValue: this.gewaehltesBild }) 
    ]); 
    var self = this; 
    dialog = this.modal.open(
     <any>ImagecropperComponent, 
     bindings, 
     new ModalConfig("md", true, 27)); 


    dialog.then((resultPromise) => { 
     return resultPromise.result.then((result) => { 
      this.lastModalResult = result; 
      this.mitarbeiter.avatarImg = this.gewaehltesBild; 

      $(self.elementRef.nativeElement).find('#bildSelector').val(""); 
     },() => this.lastModalResult = 'Rejected!'); 
    }); 

我試圖把我的返回值與

this.dialog.close(this.croppedImage); 

,但結果總是空。在angular2中是否有一個約定如何從組件返回值,這是由angular2-modal使用的?

謝謝!

回答

8

正常工作對我來說,我也是使用自定義對話框,這裏是我是如何捕獲結果

var dialog = this._modal.open(VideoPlayerComponent, 
     resolvedBindings, 
     new ModalConfig('lg', true, 27)); 
    dialog 
     .then((d) => d.result) 
     .then((r) => { console.log(r); }, (error) => { console.log(r); }); 

當我在實例

this._dialog.close("Hello"); 

調用close它可以打印Hello

+0

它的工作原理,我認爲我在模態內產生返回值的方法有一個錯字...:/ thx – Weissvonnix