如何为 Ionic 3/Angular 4 应用插值或绑定

How to apply Interpolation or Binding for Ionic 3/Angular 4

我的想法是检索安装了 MongoDB 的 Parse Server 的数据。

我在控制台中成功显示了数据,但在 html 模板中我无法插入它们。

这里是search.ts

import { localData } from './../../services/local';
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Parse } from 'parse';
import 'rxjs/add/operator/map';
import {User} from '../../models/User';

@Component({
selector: 'page-search',
templateUrl: 'search.html'
})

export class SearchPage {
currentUser = Parse.User.current();
query1 = new Parse.Query('Friends');
friendQuery = new Parse.Query('Friends');
query = new Parse.Query(Parse.User);
tmp: any;
users: any= [];
user: any= [];

loadUsers (){
this.tmp = this.localdata.getUsers();
}

initializeItems() {
 this.users;
}

constructor(public navCtrl: NavController, private localdata: localData) {
  this.query.find().then(data => {
  this.tmp = data; 
  console.log(this.tmp);
  this.localdata.setUsers(this.tmp);
  this.users = this.localdata.getUsers();
  console.log (this.users);
  console.log(this.users.username) 
   })
  }


getItems(ev: any) {
// Reset items back to all of the items
this.initializeItems();

// set val to the value of the searchbar
let val = ev.target.value;

// if the value is an empty string don't filter the items
if (val && val.trim() != '') {
 this.users = this.users.filter((user) => {
 return (user.username.toLowerCase().indexOf(val.toLowerCase()) > -1);
 })
 }
 }
 }

这是我保存用户数组的local.ts

import { Component } from '@angular/core';

export class localData {

setUsers (users){
    window.localStorage.users_data = JSON.stringify(users);
}
getUsers(){
   return JSON.parse(window.localStorage.users_data || '[]');
}

}    

最后是我的 html 模板 search.html

<ion-header>
<ion-navbar>
<ion-searchbar
(ionInput)="getItems($event)" 
(ionCancel)="onCancel($event)"
[animated]= true>
</ion-searchbar>
</ion-navbar>
</ion-header>

<ion-content padding>
<ion-item class="item-avatar item-avatar-left item-button-right common-list" *ngFor="let user of users"></ion-item>
<div></div>


</ion-content>

在 html 模板中,在 div 中我想使用 user.username 但它不起作用。

怎么可能显示出来?

非常感谢

根据您提供的 JSON 的屏幕截图,它没有用户名 属性,试试这个,

<ion-content padding>
<ion-item class="item-avatar item-avatar-left item-button-right common-list" *ngFor="let user of users">
  <h1> {{user.className}}</h1>
</ion-item>
<div></div>

您需要在 Ionic 上构建如下所示的模板。

 <ion-content padding> 
    <ion-list>
        <ion-item *ngFor="let user of users">
          <ion-label>{{user.username}}</ion-label>
        </ion-item>
    </ion-list>
 </ion-content>