我不能使用我在.ts中创建的函数

时间:2017-01-05 13:54:34

标签: ionic2

嗨,我是离子新手,我使用离子2.我的问题是: 我已经在我的about.ts中写了函数这个函数运行良好(我在页面的构造函数中测试了这个)但是当我在about.html中调用它时,这个函数没有运行。 (抱歉,我不会说英语)

这是我的约.ts

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

import { NavController } from 'ionic-angular';
import {Contacts, Contact} from 'ionic-native';
import { AlertController } from 'ionic-angular';
//, ContactField
@Component({
  selector: 'page-about',
  templateUrl: 'about.html'
})
export class AboutPage {
  private customColor:string[] = ["#f44336", "#3f51b5", "#2196f3", "#009688", "#4caf50"];
  // index qui nous permet de changer de couleur
  private indexColor:number = 0;

  // les contactes trouvés
  public allContacts:Contact[];

  public findItem:string;
  constructor(public navCtrl: NavController,public alertCtrl: AlertController) {
    this.findContact('');
    this.openModal();
  }
  /** Suppression d'un contact */
  public delete(contactToDelete:Contact):void{
    contactToDelete.remove().then(()=>this.findContact(''));
  }


  public getCustomColor():string{
    let color:string = this.customColor[this.indexColor];
    this.indexColor++;

    if(this.indexColor === 5){
      this.indexColor = 0;
    }
    return color;
  }

  /** Ouverture de la modale pour la création de contact */
  public openModal():void{

    //let modal = Modal.create(CreateContact);

   // this._navController.present(modal);

   // modal.onDismiss(data => {
   //   this.allContacts.push(data);
   // });
    let alert = this.alertCtrl.create({
      title: 'soty',
      subTitle: 'rost',
      buttons: ['OK']
    });
    alert.present();
  }


  /** Méthode pour effectuer la recherche de contact */
  public findContact(value:any){
    let alert = this.alertCtrl.create({
      title: value,
      subTitle: value,
      buttons: ['OK']
    });
    alert.present();
    let fn = value === undefined ? '' :value;

     Contacts.find(['displayName', 'phoneNumbers'], {
      filter:fn,
      hasPhoneNumber:true
    }).then(data => {
      this.allContacts = data;

    });

  }

  /** Création des initiales sur 2 lettres */
  public getCustomInitial(value):string{
    let names:string[] = value.split(' ');

    let firstName = '';
    let secondName = '';

    if(names[0] != undefined){
      firstName = names[0].substring(0,1);
    }

    if(names[1] != undefined){
      secondName = names[1].substring(0,1);
    }
    return firstName + secondName;
  }
}

这是我的about.html

<ion-header>
  <ion-navbar>
    <ion-title>
      Gestion des contacts
    </ion-title>
    <ion-buttons start>
      <button (click)="openModal()">
        <ion-icon ios="ios-add" md="md-add"></ion-icon>
      </button>
    </ion-buttons>
  </ion-navbar>
</ion-header>

<ion-content padding class="page1">
  <ion-item>
    <ion-input
      type="text"
      placeholder="rechercher"
      [(ngModel)]="findItem"
      (Change)="findContact($event)"></ion-input>
  </ion-item>
  <ion-list>
    <ion-item-sliding *ngFor="let contact of allContacts">
      <ion-item class="bloc-contact">
        <ion-avatar item-left>
          <span
            class="initial" [style.background] = "getCustomColor()">
              {{ getCustomInitial(contact.displayName) }}
          </span>
        </ion-avatar>
        <h2>{{contact.displayName}}</h2>
        <div *ngFor="let phone of contact.phoneNumbers">

          <ion-item *ngIf="phone.type == 'mobile'" class="line">
            <ion-icon ios="ios-phone-portrait" md="md-phone-portrait"></ion-icon>
            Mobile
            <ion-badge teal item-right>{{phone.value}}</ion-badge>
          </ion-item>

          <ion-item *ngIf="phone.type == 'home'" class="line">
            <ion-icon ios="ios-home" md="md-home"></ion-icon>
            Home
            <ion-badge green item-right>{{phone.value}}</ion-badge>
          </ion-item>

        </div>
      </ion-item>
      <ion-item-options>

        <button danger (click) = "delete(contact)">
          <ion-icon name="trash"></ion-icon>
          Delete
        </button>
      </ion-item-options>
    </ion-item-sliding>

  </ion-list>
</ion-content>

有人可以帮助我

1 个答案:

答案 0 :(得分:0)

openModal()和你调用它的方式没有问题;但您必须将此用于输入事件:

...
using (HttpWebResponse webResponse = (HttpWebResponse)req.GetResponse())
{
    String tempFile = Path.GetTempFileName();
    using (var stream = webResponse.GetResponseStream())
    {
        if (stream != null)
        {
            using (FileStream file = File.Create(tempFile))
            {
                stream.CopyTo(file);
            }
        }
    }

    Log(url, "stream reader (responseStream.ReadToEnd) completed to string.");
}