Как правильно создать экземпляр класса в AngularTS?

Добрый день.
Начал разбираться с Angular и застрял на элементной операции.
У меня есть модель описывающая пользователя:
export class User {
	id?: string;
	name?: string;
	linktoimage?: string;
}

Есть сервис который обрабатывает эту модель:
import { User } from '../models/User.model';
import { Injectable} from '@angular/core';
import * as signalR from "@aspnet/signalr";
import { Router } from '@angular/router';

@Injectable()
export class UserAuthService {
	url = "http://localhost:52015/auth";
	user: User = new User();
	private connection = new signalR.HubConnectionBuilder().withUrl(this.url, { accessTokenFactory: () => getToken() }).build();
	constructor(private router: Router) {
		this.connection.start().catch(err => { });
		this.connection.on("updateinfo", (state: boolean, ndata: string) => {
			if (state == true) {
				let jsonData = JSON.parse(ndata);
				this.user.name = jsonData.UserName;
				this.user.linktoimage = jsonData.ImageLink;
				this.router.navigate(['/dashboard']);
			}
		});
		this.connection.on("GetToken", (token: string) => {
			this.user.id = token;
			sessionStorage.setItem("token", token);
		});
	}
}


Сам сервис добовляю в providers app.browser.module.ts и в необходимый компонент:
import { Component } from '@angular/core';
import { UserAuthService } from '../../services/auth.service';
@Component({
	selector: 'welcome',
	template: `<div><button type="button" class="btn btn-block " (click)="StartAuth()"></button></div>`,
	styles: [`:host{ 
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}`],
	providers: [UserAuthService]
})

export class Welcome {
	
	constructor(private _userauth: UserAuthService) { }
	public StartAuth(): void {
		var authwindow = window.open("/api/Auth/Authorization?code=123&scope=" + this._userauth.user.id);

	}
}


Проблема в том, что экземпляр класса user и сам класс User почему-то всегда всегда undefined.
Скорее всего решение какое элементарное.
По замыслу экземпляр класса user должен быть только один доступе для необходимых компонентов.
  • Вопрос задан
  • 118 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы