2017-01-21 2 views
0

Я хочу изменить значение значка. Значения и идентификаторы Я получаю отлично в Json через HTTP-вызов.Как изменить номер значка в Ionic 2?

Внутри for, у меня есть это: val = items[key];

VAL это новое значение для пропуска и элементов [ключ] является конкретный значок для изменения.

В JQuery, я сделал так:

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

И в ионическом 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); 
     } 
    }); 
}); 

Спасибо!

ответ

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").

Важная информация:

Вы должны объявить переменную items, ниже открытого класса, например:

export class UserPage { 
    items: any; 
Смежные вопросы