В документах клиента выборки Aurelia есть базовый пример получения данных json:
bind() {
let client = new HttpClient();
return client.fetch('data.json')
.then(response => response.json())
.then(data => {
console.log(data[1]);
});
}
Вышеупомянутое работает нормально, но следующее не работает:
files = [];
bind() {
let client = new HttpClient();
return client.fetch('data.json')
.then(response => response.json())
.then(files => this.files = files);
}
Gulp теперь жалуется на «ошибка TS2322: тип« Ответ »не может быть назначен типу« любой [] »».
Еще более странно то, что теперь я получаю ошибки XHR 404 в своей консоли. Это не имеет никакого смысла; у файла data.json
не было проблем с поиском и извлечением в первый раз. Единственная разница во втором фрагменте кода заключается в том, что вместо того, чтобы выводить данные в консоль, я на самом деле пытаюсь что-то с ними сделать.
files
имеет типResponse
, который не может быть назначенany[]
, который является типомthis.files
, который вы установили с помощьюfiles = [];
. Вы можете использовать(files: any) =>
или изучить, как работать с ответами от HttpClient, чтобы использовать соответствующие типы. - person Explosion Pills   schedule 19.10.2017