0

抱歉,如果英语不好,我是法国人

我使用 Ionic 2 Angular 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;

不起作用。看来我丢失了这条线上的所有数据。

也许我忘记了一些重要的事情?

4

1 回答 1

1

我建议尝试以下方法:

  • 使用该push方法将元素添加到数组中
  • 保存组件 this 以在文字对象中使用它(在函数中success,...)。我认为this这个级别的关键字不是来自组件的关键字,而是来自你的文字对象的关键字
于 2016-02-16T14:15:45.630 回答