Я добавил пункт меню в шаблон .NET Core SPA по умолчанию nav-menu.component.html
файл, подобный следующему:
<li [routerLinkActive]='["link-active"]'>
<a [routerLink]='["/fetch-data"]' (click)='collapse()'>
<span class='glyphicon glyphicon-th-list'></span> Requests ({{count}})
</a>
</li>
Показывает количество запросов, полученных с сервера в круглых скобках. Я инициализировал счет в моем файле TS следующим образом:
export class NavMenuComponent {
count: number;
constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) {
var url = this.baseUrl + "api/request/TheCount/";
this.http.get<number>(url).subscribe(result => {
this.count = result;
}, error => console.error(error));
}
И TheCount
метод просто получает количество запросов от сервера, как это:
[HttpGet("TheCount")]
public async Task<IActionResult> TheCount()
{
var count = await GetRequestsCount();
return new JsonResult(count, new JsonSerializerSettings()
{
Formatting = Formatting.Indented
});
}
Это работает просто отлично и показывает количество в круглых скобках в соответствии с ожиданиями. Но проблема в том, что когда я удаляю один из запросов из других компонентов, переменная count в nav-menu.component
не обновляется, и поэтому мне нужно обновить сайт, чтобы снова получить обновленное количество. Итак, мой вопрос, есть ли способ, счет будет обновляться автоматически после изменений?