2016-04-11 67 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