将http字符串var从vanilla JS传递给Angular2服务的更好方法

时间:2017-05-15 12:21:09

标签: javascript angular

是否有更好的方法将HTTP字符串变量从vanilla JavaScript传递到Angular2 Service。目前,我已经通过window.__myVar传递了它,但还有另一种方法没有使用window属性吗?

我尝试使用@HostListener(),但如果在Angular2中的SharedService内部使用,我认为它不起作用,但如果在组件中使用,则无效。

@HostListener('window:js-value', ['$event.detail'])
 onJsValue(val) {
    console.log('HostListener: ', val);
    alert(val);
  }

在我的vanilla JS中,我有: - 我想将passTheResultToAngular变量传递给Angular2,以便在SharedService中的http请求中使用

这就是我在config.js中的内容

let passTheResultToAngular= 'http://passmetoangularserve.net/api/;
        window.dispatchEvent(new CustomEvent('js-value', { bubbles: true, detail: passTheResultToAngular}));

是否有另一种方法将变量从JS传递给Ng2服务?

如果变量来自success ajax call

,该怎么办?
success: function (data) {
        console.log('SMm', nodeApiUrl + data.Results.Value);
        var passTheResultToAngular= data.Results.Value;
    }

在我的typings.d.ts中: -

declare var passTheResultToAngular: any;

1 个答案:

答案 0 :(得分:0)

Typescript是javascript的超集,所以我们可以直接使用变量。

例如。在您的javascript代码中,我们可以将var myVar写为全局变量

在打字稿和导入声明中,您可以使用下面的代码

declare myVar