Я работаю над изучением Angular с C # в VS2017.Я создал базовый проект и вносил изменения в код для изучения.
В "fetch-data.component.ts", созданном новым проектом в VS2017, он создал следующий метод / конструктор:
constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {
http.get<WeatherForecast[]>(baseUrl + 'api/SampleData/WeatherForecasts').subscribe(result => {
this.forecasts = result;
}, error => console.error(error));
}
Поэтому я хотел бы расширить это и вызвать метод, который я создал сам, поэтому я создал следующий класс в том же контроллере:
public class TestData
{
public int Id { get; set; }
public string Name { get; set; }
public string Value { get; set; }
}
Затем я создал следующее действие в контроллере:
[HttpGet("[action]")]
public TestData GetData()
{
var rng = new Random();
var testData = new TestData();
testData.Name = "TestName";
testData.Id = 1;
testData.Value = "TestValue";
return testData;
}
Я добавил это в html-файл fetch-data:
<button type="button" class="btn btn-primary btn-md" (click)="ClickMeButton()">
Показать сообщение
Данные не указаны Затем в файле fetch-data.ts я добавил в вызов, который вызывает кнопка:
public ClickMeButton(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {
http.get<TestData>(baseUrl + 'api/SampleData/GetData').subscribe(result => {
this.oData = result;
}, error => console.error(error));
}
Параметры метода: "http: HttpClient, @Inject ('BASE_URL') baseUrl: string" я проверял, чтобы убедиться, что это постоянные данные, но это не так.
Я предполагаю, что смогу сохранитьпеременные в объявлениях класса .ts ...?
Как получить доступ к этому удаленному классу или использовать sa?мне информацию, которую использует конструктор?