angular - 以我作为参数的角度调用函数
问题描述
我想从字符串中调用一个函数。
那就是我得到一个字符串作为函数名,但我想调用并执行该函数。
我尝试了下面的代码,但它没有调用该方法。
linkAction(attr,url){
if(attr == 'click'){
debugger
let eventName = Object.keys(url)[0];
this[eventName];
}else{
window.open(url, "_blank");
}
}
此代码未调用该方法
解决方案
试试这样:
.html
<button (click)="linkAction('click', 'test')">Click me </button>
<button (click)="linkAction('url', 'www.google.com')">Click me url </button>
.ts
linkAction(attr, item) {
if (attr == "click") {
this[item]();
} else {
if (item !== "" && item !== undefined) {
if (item.includes("http")) {
window.open(item, "_blank");
} else {
window.open(`https://${item}`, "_blank");
}
}
}
}
test() {
alert("test called");
}
推荐阅读
- python - 如何使用多索引加快 pandas 的索引?
- javascript - 如果在 Firebase 快照中无法正常工作
- visual-studio-code - 更漂亮的间距
- security - 如何在 Jenkins 中主动添加脚本审批
- microsoft-graph-api - 是否可以通过 MS Graph 获取 SharePoint 列的本地化显示名称?
- pandas - 为什么将“NANO”放入 pandas .fillna() 中?
- javascript - 在将我的应用程序构建到 Heroku 但在我的机器上工作时,可选的链接运算符会给出 SyntaxError
- javascript - 优化密集排名算法的性能
- hyperledger-fabric - Hyperldeger Fabric 是否使用 REST API?
- java - 使用户通过 SQL 将列名放入数据库中的表中的正确代码是什么?