如何从外部javascript文件调用角度组件编写的函数?
我已经编写了一个外部JavaScript文件,用于在页面上创建动态UI。我需要在单击“动态创建”按钮时调用在组件类中编写的函数。从技术上讲,我试图从纯JavaScript文件调用函数。任何帮助都将不胜感激 以下是一个例子: 假设my Home.Component.ts文件有一个函数'showtoos()' 我的custom.js文件包含查找单击事件的代码,如下所示:如何从外部javascript文件调用角度组件编写的函数?,javascript,angular,Javascript,Angular,我已经编写了一个外部JavaScript文件,用于在页面上创建动态UI。我需要在单击“动态创建”按钮时调用在组件类中编写的函数。从技术上讲,我试图从纯JavaScript文件调用函数。任何帮助都将不胜感激 以下是一个例子: 假设my Home.Component.ts文件有一个函数'showtoos()' 我的custom.js文件包含查找单击事件的代码,如下所示: btn.onClick() { //I want to call showToast() function from
btn.onClick() {
//I want to call showToast() function from here.
}
- 创建CND包
- 将包作为脚本文件插入index.html中
- 使用服务文件
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();
}
}
模块1.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);
}
}
这回答了你的问题吗?不,它不是,因为NgZone在GitHub上有一个未解决的问题。
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);
}
}