从外部/外部javascript

时间:2019-02-12 18:51:42

标签: javascript angular

我的团队中有一些非角度编码人员。我需要允许他们使用外部JavaScript在我的Angular组件之一中调用函数。我正在使用Angular 7。

我看了这篇文章(及其他):https://stackoverflow.com/a/39280942

但似乎没有任何作用...

这是我的代码

更新-没关系...它有效,我的坏

angular.component.ts

import { Component, NgZone, OnInit, OnDestroy } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';

@Component({
 selector: 'app-root',
 templateUrl: './app.component.html',
})
export class AppComponent implements OnInit {

constructor(
 private ngZone: NgZone,
 private _router: Router,
 private route: ActivatedRoute
) { 

}

ngOnInit() {
 window.my = window.my || {};
 window.my.namespace = window.my.namespace || {};
 window.my.namespace.publicFunc = this.publicFunc.bind(this);
}

ngOnDestroy() {
 window.my.namespace.publicFunc = null;
}

publicFunc() {
 this.ngZone.run(() => this.getTraining());
}

getTraining() {
 console.log("getTraining");
}

}

intings.d.ts

interface Window { my: any; }

在我调用的外部JavaScript中

my.namespace.publicFunc();

我得到的错误是:未捕获的ReferenceError:未定义

0 个答案:

没有答案