Angular 调用一个角函数,我得到它作为参数
我想从字符串调用函数 也就是说,我得到一个字符串作为函数名,但我想调用并执行该函数 我尝试了下面的代码,但它没有调用该方法Angular 调用一个角函数,我得到它作为参数,angular,typescript,angular6,Angular,Typescript,Angular6,我想从字符串调用函数 也就是说,我得到一个字符串作为函数名,但我想调用并执行该函数 我尝试了下面的代码,但它没有调用该方法 linkAction(attr,url){ if(attr == 'click'){ debugger let eventName = Object.keys(url)[0]; this[eventName]; }else{ window.open(url, "_blank");
linkAction(attr,url){
if(attr == 'click'){
debugger
let eventName = Object.keys(url)[0];
this[eventName];
}else{
window.open(url, "_blank");
}
}
此代码未调用该方法
试着这样做:
.html
显示示例属性和url@AdritaSharma它是一个字符串,因此attr可以说click或link,url可以是www.google.com或abc()之类的函数名。为什么不使用
switch case
bcs呢?您已经在组件中编写了函数。但是有很多函数,所以我不想这样做。我想让那个字符串调用method@ashish你看过演示了吗?你能看看演示吗?第一个按钮。
<button (click)="linkAction('click', 'test')">Click me </button>
<button (click)="linkAction('url', 'www.google.com')">Click me url </button>
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");
}