Перемещение некоторой логики JavaScript в приложение Angular 2. Часть его включает в себя встроенную библиотеку функций «форматирования» [они делают больше, чем просто форматирование, поэтому каналы не являются опцией] В настоящее время они передаются по имени (строка), а функция приема использует окно [fName] для преобразования их в функция ссылка.Угловой 2 Преобразование имени функции в функцию Reference
Таким образом, есть функция форматировщик:
var tickPositionerYMD = function() { ticks=[]; ... complex logic ... return ticks; }
И функция сборки:
build(x, y, formatterName) {
...
formatter = window[formatterName];
...
}
И билд вызывалась с определенным форматировщиком:
build(xData, yData, 'tickPositionerYMD');
В JavaScript окне [] используется для создания ссылки на функцию.
Вопрос ... какой лучший способ сделать это в компоненте Angular 2? Вы видели один подход, когда создается сервис со ссылкой на окно ... это передается через DI.
Второй подход заключается в создании фабричной функции, которая дает имя, возвращает функцию.
Учитывая эти варианты, я склонен идти с заводской функцией. Будучи новичком в Угловом, мне было интересно, не хватаюсь ли мне лучше.