[英]How to call function written in Angular Component from external javascript file?
I have written an external JavaScript file for creating dynamic UI on a page.我编写了一个用于在页面上创建动态 UI 的外部 JavaScript 文件。 I need to call a function written in component class on click of dynamically created button.
我需要在单击动态创建的按钮时调用在组件类中编写的函数。 Technically I am trying to call a function from plain JavaScript file.
从技术上讲,我试图从纯 JavaScript 文件调用函数。 Any help will be appreciated.
任何帮助将不胜感激。
Below is an example:下面是一个例子:
Suppose my Home.Component.ts file has a function 'showToast()'假设我的 Home.Component.ts 文件有一个函数“showToast()”
export class HomeComponent {
public showToast() {
this.messageService.showToast();
}
} //end of 'HomeComponent'
and my custom.js file is having a code for finding click event as below:我的 custom.js 文件有一个用于查找点击事件的代码,如下所示:
btn.onClick() {
//I want to call showToast() function from here.
}
Example code:示例代码:
import { Injectable } from '@angular/core';
declare var CryptoJS: any;
export class CryptService {
constructor() { }
public decrypt(encryptedString, random) {
return new Promise((result, reject) => {
const bytes = CryptoJS.AES.decrypt(encryptedString, random);
result(bytes.toString(CryptoJS.enc.Utf8));
});
}
public encrypt (payload, user_id) {
return CryptoJS.AES.encrypt(payload, user_id).toString();
}
}
module.ts模块.ts
this.load('https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js');
load(scriptUrl: string) {
if (isPlatformBrowser(this.platformId)) {
let node: any = document.createElement('script');
node.src = scriptUrl;
node.type = 'text/javascript';
node.async = true;
node.charset = 'utf-8';
document.getElementsByTagName('head')[0].appendChild(node);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.