К сожалению, если есть плохой английский, я французскийПоказать Parse.com Данные с * ngFor (Angular2)
Я создаю приложения с помощью Ионный 2 Угловое 2 и Parse.com. Несколько дней назад я использовал Ionic 1 и не имел проблем с моим кодом.
Когда я выполняю свой запрос с Parse, данные не отображаются в моем HTML-документе, и я не понимаю, почему.
Вот мой JS:
var Tiers = Parse.Object.extend("Tiers");
var queryObject = new Parse.Query(Tiers);
var lesTiers = new Array();
//queryObject.equalTo("isActive", true);
queryObject.find({
success: function (results) {
for (var i = 0; i < results.length; i++) {
tiers = results[i];
lesTiers[i] = {
nom: tiers.get('nomTiers'),
prenom: tiers.get('prenTiers')
};
}
console.log(lesTiers);
this.lestiers = lesTiers;
},
error: function (error) {
alert("Error: " + error.code + " " + error.message);
}
});
Вот мой HTML:
<ion-list>
<ion-item *ngFor="#tiers of lestiers">
{{tiers.nom}} {{tiers.prenom}}
</ion-item>
</ion-list>
====================== ============================================
Мой запрос хорош, он возвращает массив объектов. Когда я пытаюсь заменить запрос на отверстие массивом, я строю себя следующим образом:
this.lestiers = [
{nom: 'chien', prenom: 1},
{nom: 'chat', prenom: 2},
{nom: 'oiseau', prenom: 3},
{nom: 'poisson', prenom: 4},
{nom: 'lezard', prenom: 5}
];
Он отлично работает. Тогда, я полагаю, эта строка:
this.lestiers = lesTiers;
не работает. Кажется, что я потерял все свои данные на этой линии.
Возможно, я забыл что-то важное?
Является ли ваш JS выполненным в пределах Углового кода (компонента) или снаружи? Если он находится вне вас, вам нужно ввести «NgZone» и запустить назначение в 'zone.run (function() {...})' иначе обнаружение изменений углов не распознает изменение. Однако я не знаю, как использовать инъекцию зависимостей в JS. Есть несколько вопросов с ответами на DI с JS на SO. –