javascript - 在 Angular component.ts 中动态创建 JS 类
问题描述
我需要根据我的 .ts 文件中传递的名称动态创建新的 JS 类。例如,我需要创建名为“CloseIcon”的类。我按下按钮“关闭图标”并将字符串作为参数“CloseIcon”传递,并且必须创建下一个类实例“CloseIcon”。
在 HTML 中:
<ion-col class="text-center">
<ion-button class="icons ion-align-items-center" (click)="addCloseIcon()">
<ion-img src="../../../../assets/images/svg/Cancel3.svg"></ion-img>
</ion-button>
</ion-col>
在toolbar.ts 组件中:
addCloseIcon(): void {
this.storyboardService.iconToolbarClicked(ContentType.ClOSEICON);
}
在具有行为主体的全球服务中:
public iconToolbarClicked(type: string): void {
this.iconToolbarSubject$.next(type);
}
在 card.ts 组件中:
this.iconToolbarSubscription = this.storyboardService
.iconToolbarSubject$
.subscribe(
item => {
console.log(item);
this.tabs[this.currentTabIndex].content.push(new item(this.contentTypes[item]));
}
);
工具栏和卡片组件通过全局服务相互绑定。
我也有不同型号的文件,例如:
export class Title extends Content {
constructor(type: ContentType) {
super(type);
}
}
export class Authorbox extends Content {
constructor(type: ContentType) {
super(type);
}
}
export class CloseIcon extends Content {
constructor(type: ContentType) {
super(type);
}
}
所以动态生成 JS 类的目的取决于我点击了哪个按钮。在 card.ts 组件中,我得到“项目”(类名),我想用它代替真正的类名。
解决方案
推荐阅读
- ms-word - 通过 vb.net(64 位 Windows 和 64 位 Office)添加水印时如何修复“找不到元素”?
- node.js - MongoDB 错误从自定义方法(如 generateAuthToken)推送 mongoose 模式中的数据
- android - 由于“从 size_t 到 [enum] 的无效转换”,OpenBSD 上的编译失败,适用于 Linux
- javascript - 拨动开关在角度反应形式内不起作用
- javascript - Firebase 实时数据库 set() 和 push() 不起作用
- wordpress - 连接错误!请再试一次... wordpress 管理面板
- android - NavigationGraph 动画不起作用问题 Android
- xpath - 使用 chrome 浏览器录制时 Xpath 无法正常工作
- python - 使用按钮创建新窗口
- javascript - Jquery Inputmask纬度和经度验证和屏蔽?