Вызов функции Angular 7 из внешнего / внешнего javascript - PullRequest
0 голосов
/ 12 февраля 2019

В моей команде есть люди, не являющиеся англоязычными программистами.Мне нужно разрешить им использовать внешний 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");
}

}

в typings.d.ts

interface Window { my: any; }

во внешнем JavaScript я вызываю

my.namespace.publicFunc();

и получаю ошибку: Uncaught ReferenceError: my не определена

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...