是否有更好的方法将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;
答案 0 :(得分:0)
Typescript是javascript的超集,所以我们可以直接使用变量。
例如。在您的javascript代码中,我们可以将var myVar
写为全局变量
在打字稿和导入声明中,您可以使用下面的代码
declare myVar