Я считаю, что вам нужен оператор переменной. вот один, созданный как объект. вы можете изменить текущую операцию, изменив:
[yourObjectName].operation = "<" //changes operation to less than
function VarOperator(op) { //you object containing your operator
this.operation = op;
this.evaluate = function evaluate(param1, param2) {
switch(this.operation) {
case "+":
return param1 + param2;
case "-":
return param1 - param2;
case "*":
return param1 * param2;
case "/":
return param1 / param2;
case "<":
return param1 < param2;
case ">":
return param1 > param2;
}
}
}
//sample usage:
var vo = new VarOperator("+"); //initial operation: addition
vo.evaluate(21,5); // returns 26
vo.operation = "-" // new operation: subtraction
vo.evaluate(21,5); //returns 16
vo.operation = ">" //new operation: ">"
vo.evaluate(21,5); //returns true
Взгляните на этот плунжер
Обратите внимание на изменения, которые я сделал:
(function(){
const Modal = {
templateUrl: 'modalAlert.html',
controller: ModalCtrl,
bindings: {
resolve: "<"
}
};
angular.module('app').component('modalComponent', Modal);
function ModalCtrl() {
var $ctrl = this;
$ctrl.$onInit = function() {
$ctrl.modalMessages = $ctrl.resolve.modalMessages;
}
}
})()
вам нужно использовать resolve
с bindings
получить доступ к переданному параметру