angular - 单击我想在 ionic 项目中显示其详细信息的名称

标签 angular ionic-framework ionic2 ionic3

我有一个包含对象数组的 restapi (api url:' http://rayi.in/dms-danish/api/loadUsers/1)。 从 api 中,我列出了单击特定人时的人名,我在模式中显示了他们的详细信息。 我已经列出了 api 中的名称,但是在单击特定的人时它会显示所有用户的详细信息我该如何修复它。

数组 [对象, 对象, 对象]

对象 { id: "84", u_name: "Julie", u_email: "herlev@ide.dk", u_phone_number: "88183640", u_password: "null"}

对象 { id: "85", u_name: "Brian", u_email: "glostrup@ide.dk", u_phone_number: "88183730", u_password: "null"}

对象 { id: "86", u_name: "Alexande T. Abedi", u_email: "alta@ide.dk", u_phone_number: "88183730", u_password: "null"}

import { VendorModalPage } from './../vendor-modal/vendor-modal';
import { Http } from '@angular/http';
import { Component } from '@angular/core';
import { IonicPage, ViewController, ModalController, NavParams } from 'ionic-angular';



@IonicPage()
@Component({
  selector: 'page-vendors',
  templateUrl: 'vendors.html',
})
export class VendorsPage {

  vendors: any[];

  constructor(public viewCtrl: ViewController,
              public modal: ModalController,
              public navParams: NavParams,
              public http: Http) {
              http.get('http://rayi.in/dms-danish/api/loadUsers/1')
                .subscribe(response => {
                  this.vendors = response.json();
                })
              }

  ionViewDidLoad() {
    console.log('ionViewDidLoad VendorsPage');
  }

  // checkVendor(){}
  openModal() {
    const myModal = this.modal.create(VendorModalPage);
    myModal.present();
  }
}
<ion-header>

  <ion-navbar>
    <ion-title>vendors</ion-title>
  </ion-navbar>

</ion-header>


<ion-content padding>
  <ion-list>
    <button ion-button block (click)="openModal()" *ngFor="let vendor of vendors">  
      <ul>
        <li>
            {{vendor.u_name}}
        </li>
      </ul>
    </button>
  </ion-list>
</ion-content>

import { Http } from '@angular/http';
import { VendorsPage } from './../vendors/vendors';
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams, ViewController } from 'ionic-angular';
 

@IonicPage()
@Component({
  selector: 'page-vendor-modal',
  templateUrl: 'vendor-modal.html',
})
export class VendorModalPage {

  vendors:any[];
  venDetails:any;

  constructor(public viewCtrl: ViewController,
              public navParams: NavParams,
              public http: Http)
              {
                http.get('http://rayi.in/dms-danish/api/loadUsers/1')
                .subscribe(response => {
                this.vendors = response.json();
              
                })
              }

  ionViewDidLoad() {
    console.log('ionViewDidLoad VendorModalPage');
  }

  closeModal() {
    this.viewCtrl.dismiss();
  }

    

}
 <ion-header>

  <ion-navbar>
    <ion-title>Vendor Details</ion-title>
  </ion-navbar>
  <ion-buttons>
    <button ion-button small color="danger" (click)="closeModal()">&#x274C;</button>
  </ion-buttons>
</ion-header>



<ion-content padding>
  <ul *ngFor="let vendor of vendors; index as i">
    <li *ngIf="">
      Name: {{vendor.u_name}}
      <br> 
      Id: {{vendor.id}}
      <br> 
      Email: {{vendor.u_email}}
      <br> 
      Phone Number: {{vendor.u_phone_number}}
    </li>
  </ul>
</ion-content>

最佳答案

在您的VendorModalPage 中,获取数据的方式与VendorsPage 相同。所以你肯定会得到所有的数据。只需执行简单的方法,将您的 object 传递给 NavParams。
vendors.html 中:

<button ion-button block (click)="openModal(vendor )" *ngFor="let vendor of vendors">  

VendorsPage 中:

 openModal(vendor) {
    const myModal = this.modal.create(VendorModalPage, {vendor: vendor});<== Here is the way you pass data
    myModal.present();
 }

VendorModalPage 中:

 constructor(public viewCtrl: ViewController,public navParams: NavParams){
    this.venDetails = this.navParams.get('vendor');
   //Now you have venDetails  in your hand. Just use it to show data
 }

关于angular - 单击我想在 ionic 项目中显示其详细信息的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46601758/

相关文章:

javascript - 无法更新 angular.js 中的变量

JavaScript ECMAScript 6 - 错误 : "You can only use decorators on an export when exporting a class"

php - 如何使用ionic 2向mysql数据库插入数据?我尝试了很多解决方案,但结果仍然相同

angular - 向 ViewChildren 添加动态组件

angular - 在 Azure 中部署 Angular 应用程序并使用 VSTS 配置 CI/CD

javascript - 使用 AngularFire2 将文件上传到 Firebase 存储

angular - ionic 找不到模块 '../providers/auth-service/auth-service'

javascript - 在运行时更改 Angular 中的语言环境?

ios - 方法 'requestAuthorization:' 未在插件 'PhotoLibrary' ionic 4 中定义

javascript - 图像未从我的 json 文件加载