У меня есть некоторые услуги Angular 2, которые имеют одинаковые методы для анализа json-ответа, обработки ошибок и т. Д. (Например, захват, если это ошибка 422, например).Angular2 - Разделение модулей - лучшая практика
Очевидно, я не хочу, чтобы эти методы копировались и вставлялись в каждую службу, но я не могу найти никаких указаний о том, где я должен поместить этот код.
Это не методы класса, а только те же личные методы в каждой службе.
Вот один, например:
private parseToString(jsonResponse: any){
return Object.keys(jsonResponse).reduce(
(prev, next) => prev.concat(jsonResponse[next].map(
v => next + ' ' + v).join(', ')), []).join(', ');
}
Есть ли какой-нибудь способ, чтобы создать вспомогательный модуль или что-то вроде концерна Rails, что вы можете включить?
Скажем, например, у меня есть доступ к этой папке:
приложения/услуги
, который имеет свои служебные файлы различных .ts.
Я мог бы создать папку «app/services/helpers» и поместить в нее файл ... но что входит в этот файл .ts?
например. parser-helper.ts может быть именем файла, но как выглядит код внутри? Должен ли он быть модулем? Если да, то как я могу включить его в сервис?
Например, это рекомендуемый способ сделать это?
приложения/услуги/хелперы/парсер-helper.module.ts
module parserHelperModule {
export function helperA(){}
export function helperB(){}
}
Well TypeScript имеет функции, классы, методы и т. Д. Вы можете создавать функцию, экспортировать ее из модуля и импортировать и использовать ее везде, где хотите. –
Я добавил некоторый пример кода, который, как я думаю, вы хотите для меня попробовать. – rmcsharry