返回值并从window.angularComponentRef.zone.run获取

时间:2019-02-25 05:36:12

标签: angular

我知道如何根据以下链接通过静态文件在组件内部调用角度函数:

How to expose angular 2 methods publicly?

如下所述,它表示使用角度区域:

 window.angularComponentRef.zone.run(() => {
 window.angularComponentRef.component.calledFromOutsideToUploadChatImageandGetURL("test");
})

我的角函数是:

calledFromOutsideToUploadChatImageandGetURL(chatImage64Bit: string) {
    this.doctorService.UploadChatImageandGetURL(chatImage64Bit).subscribe(
        data => {

            console.log(chatImage64Bit);
            //blablabla


    );

    return "RESULT";
}

但是我想从角度("RESULT")中获得返回值function(calledFromOutsideToUploadChatImageandGetURL),但我不能。我可以叫它!任何想法 ?

1 个答案:

答案 0 :(得分:0)

经过一番尝试,我发现可以通过以下代码简单地完成此操作:

 var retuenValue = window.angularComponentRef.zone.run(function map() {
 var  xx =  window.angularComponentRef.component.calledFromOutsideToUploadChatImageandGetURL("test");
                return xx;
            });
 console.log(retuenValue);