如何获取数组中项目的ID

时间:2019-05-23 15:35:46

标签: javascript angular typescript ionic3

我已经使用PHP作为后端语言从数据库中调用了一个项目数组,并且已经在ionic中正确显示了它的视图,但是我尝试记录每个项目的ID,以便可以使用它执行其他任务但它不断为我提供循环中第一项的ID

下面的代码是ionic中的ts代码,用于在页面init上获取数据

ngOnInit() {
  this.username = this.navParams.get('mobile');
  var headers = new Headers();
  headers.append("Accept", 'application/json');
  headers.append('Content-Type', 'application/json');
  let requestOptions = new RequestOptions({ headers: headers });
  let data = {
    userid: this.username
  };
  this.http.post('http://127.0.0.1:8000/api/myitems', JSON.stringify(data), requestOptions)
  //.timeout(40000)
  .map(res => res.json())
  .subscribe(res => {
    this.items =res.My_data.phone;
    console.log(this.items);
  });
}

下面是单击该项目时的代码

Detail(item) {
  console.log(item);
}

这是离子视图下的html代码

<ion-item *ngFor="let item of items" on-click="Detail()">
  {{item.phone_name}} | {{item.model}} <br> {{item.serial_no}}
</ion-item>

每次我单击它时,都应该假设项目的ID像9,10,11,12一样循环,但它仅返回9

下面的PHP代码(与laravel一起构建

public function index(Request $request){

    $car=caritem::where('ownerid', $request->userid)->get();
    $comp=Computer::where('ownerid', $request->userid)->get();
    $phone = useritem::where('ownerid', $request->userid)->get();
    $my_data = ['status' => 200, 'Author\'s Name' => "Ademola Segun", 'Api Version' => "v1.0",
        'Purpose' => "Findit App API", 'car' => $car, 'comp'=>$comp, 'phone'=> $phone];
    return response()->json(['My_data'=>$my_data]);

}

1 个答案:

答案 0 :(得分:0)

首先,您的Detail()函数正在等待参数,而您从html中不提供该参数,

像这样更新您的html:

<ion-item *ngFor="let item of items" on-click="Detail(item)"> .... </ion-item>

在您的ts中,应该有一个具有id的对象