Показать сообщение отдельно
  #1 (permalink)  
Старый 09.10.2018, 10:14
Аспирант
Отправить личное сообщение для sniffysko Посмотреть профиль Найти все сообщения от sniffysko
 
Регистрация: 20.10.2009
Сообщений: 79

Заинжектить сервис в обычный класс
Имеется обычный класс TypeScript. Но при создании объекта этого типа необходимо получить доступ к глобальным настройкам приложения, реализуемый через доступ к сервису $SETTINGS. Как это делается в обычных компонентах Angular мне понятно, а вот как запихнуть сервис $SETTINGS в обычный класс -- не нашел. Или не осилил ответа. Помогите!

Пример кода:

export class User implements IUserWithPosition{
	id: number;
	login: string;
	email: string;
	img: string;
	full_name: string;

	private img_url = '';
	private default_img = '';

	constructor(
		private data: IUserWithPosition,
		private $SETTINGS: GlobalVars // ??????????????????
	){
		this.id = data.id;
		this.full_name = data.full_name || '';
		this.login = data.login || '';
		this.email = data.email || '';
		this.img = data.img || '';

		if(this.login && this.img && this.login.length > 0 && this.img.length > 0){
			this.img_url = `${$SETTINGS.get(`urlUserImage`)}${this.login.charAt(0).toLowerCase()}/`;
		}else{
			this.img_url = $SETTINGS.get(`urlUserImage`);
			this.default_img = $SETTINGS.get('urlDefaultUserImage');
		}
	}
Ответить с цитированием