Я новичок в Angular 2 и javascript в целом, и я пытаюсь прочитать JSON через HTTP-запрос. Я следую этому руководству: https://medium.com/google-developer-experts/angular-2-introduction-to-new-http-module-1278499db2a0
Я пытаюсь запустить этот пример с помощью Electron.
Мне пришлось внести некоторые незначительные изменения в исходный код, чтобы не получить ошибок при запуске npm run build
например change:
<my-person *ng-for="#person of people"
в
<my-person *ngFor="let person of people"
и т.д. После того, как я внес эти незначительные изменения, я получил его без ошибок, а затем работал с npm run electron
И здесь возникает проблема; на самом деле ничего не видно, и я понятия не имею, почему нет. Если я активирую Chrome DevTools с добавлением win.openDevTools();
на main.js Я могу открыть консоль и увидеть, что конструктор класса App печатает "завершен" для консоли, поэтому кажется, что все идет прямо в фоновом режиме, но по какой-то причине ничего не появляется в представлении.
Если я изменю
export class App {
people : any;
constructor(peopleService:PeopleService) {
peopleService.people
.subscribe(
people => this.people = people,
error => console.error('Error: ' + error),
() => console.log('completed!')
);
}
в
..
() => console.log('this.people')
..
Я вижу объект, напечатанный в консоли, содержащий все три человека, которые определены в people.json
как это
[
{"id": 1, "name": "Brad"},
{"id": 2, "name": "Jules"},
{"id": 3, "name": "Jeff"}
]
Вы можете увидеть весь проект в моем GitHub здесь: https://github.com/MikPak/ngNews
Пожалуйста, помогите мне с этим, чтобы все началось. Позже я хотел бы получить JSON-данные (новости) с внешнего сервера и отобразить их в представлении, но я должен сначала решить эту проблему.
Добавить
<script src="../node_modules/es6-shim/es6-shim.min.js"></script>
<script src="../node_modules/zone.js/dist/zone.js"></script>
<script src="../node_modules/reflect-metadata/Reflect.js"></script>
в файл app/index.html и удалить
'rxjs',
'reflect-metadata',
из вашей записи angular2 в файле webpack.config.js.