Привет, решил разобраться с тем, как работает asp.net core 2 в связке с Angular 2, создал проект в студии и начал разбирать стандартный шаблон с 3 траничками: home, Counter и Fetch Data. И вот со вторым не совсем понятно. Изначально там чисто фронтовой, как я понял, инкремент:
export class CounterComponent {
public currentCount = 0;
public incrementCounter() {
this.currentCount++;
}
}
Мне стало интересно, а как можно сделать этот инкремент на сервере, т.е. через контроллер. Взял из FetchDataComponent код и вставил в CounterComponent, получилась такая штука:
export class CounterComponent {
public currentCount = 0;
constructor(http: Http, @Inject('BASE_URL') baseUrl: string) {
http.get(baseUrl + 'api/SampleData/Increment').subscribe(result => {
this.currentCount = result.json();
}, error => console.error(error));
}
}
и в контроллере добавил экшн:
int x = 0;
[HttpGet("[action]")]
public int Increment()
{
return ++x;
}
Вроде работает, но значение "1" подтягивается при переходе на окно с инкрементом(оно и понятно, видимо из-за constructor). Но я не понял как мне повесить на кнопку вызов экшена, чтобы он мне возвращал увеличенное на 1 значение? Что-то ничего не нагуглиось. Спасибо.