Я сделал эту работу, пожалуйста, проверьте эту ссылку -> https://stackblitz.com/edit/angular-xwsq2a
Добавьте метод colorChose
в компонент и обновите шаблон следующим образом,
<td *ngFor="let c of tblFormat" [style.color]="colorChose(c.cellFunction)">
В компоненте,в colorChose
метод
colorChose (param) {
return this.executeFunctionByName(param, this);
}
Создайте метод executeFunctionByName
в том же компоненте.Это используется для вызова функции, когда вы знаете имя функции как string
.
executeFunctionByName(functionName, context /*, args */) {
var args = Array.prototype.slice.call(arguments, 2);
var namespaces = functionName.split(".");
var func = namespaces.pop();
for(var i = 0; i < namespaces.length; i++) {
context = context[namespaces[i]];
}
return context[func].apply(context, args);
}
Я надеюсь, что у вас есть методы, упомянутые в cellFunction
, в данном случае testME1
, который возвращает имя цвета,
testME1 () {
return "red";
}
Надеюсь, это поможет ...