如何更改Ionic 2中的徽章编号?

时间:2017-01-21 18:29:03

标签: ionic-framework ionic2

我想更改徽章的价值。 我通过HTTP调用在Json中完美地获得了值和Id。

for内,我有:val = items[key];

VAL 是徽章的新值,项[密钥] 是要更改的特定徽章。

在jQuery中,我确实喜欢这个:

$("#"+items[key]).text("").text(val); 

在Ionic 2中,我该怎么做?

API工作正常。正确返回所有值。

我的userpage.html是:

<ion-list>
    <ion-item>
        <ion-icon name="person" item-left></ion-icon>
        Profiles
        <ion-badge id="profiles_total" item-right>0</ion-badge>
    </ion-item>
    <ion-item>
        <ion-icon name="create" item-left></ion-icon>
        Blogs
        <ion-badge id="blogs_total" item-right>0</ion-badge>
    </ion-item>
</ion-list>

我的userpage.ts有这个:

var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
var r = new Promise(resolve => {
    this.http.post('mobapi/mob.php?action=get_totals', {headers: headers}).subscribe(data => {
        if(data.json().success){
            var items = data.json().items;
            var key;
            var val;

            for (key in items) {
                val = items[key];
            }

            resolve(true);
        } else {
            resolve(false);
        }
    });
});

谢谢!

1 个答案:

答案 0 :(得分:0)

我改变了我的userpage.html

注意:我稍后会解释

<ion-list>
    <ion-item *ngFor="let item of items">
        <ion-icon name="{{item.icon}}" item-left></ion-icon>
        {{item.name}}
        <ion-badge id="{{item.id}}" item-right>{{item.count}}</ion-badge>
    </ion-item>
</ion-list>

在上面的代码中,我创建了一个循环,在我想要重复的元素中使用此参数:*ngFor="let item of items"

"item" is the variable that I created to access the data.
"items" is the object created in code below. This variable contains all items to repeat.

我改变了我的TS文件userpage.ts

var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
var r = new Promise(resolve => {
    this.http.post('mobapi/mob.php?action=get_totals', {headers: headers}).subscribe(data => {
        if(data.json().success){
            this.items = data.json().items;
            resolve(true);
        } else {
            resolve(false);
        }
    });
});

在上面的代码中,我将数据对象保存在变量中:

this.items = data.json().items;

此变量在HTML中用于执行循环(*ngFor="let item of items")。

重要信息:

您需要在open类下面声明变量items,如下所示:

export class UserPage {
    items: any;