2016-05-27 14 views
0

Ich versuche, von @Page zu einer @Component mit einer einfachen Zeichenfolge zu kommunizieren, aber Wert ist immer undefiniert - kann nicht verstehen, was ich hier falsch mache.Senden von Daten an @ Komponentendaten von @page ionic2

-Code .. @Page

<createnewqueueitem [qId]="currentQueueId"></createnewqueueitem> 

import {CreateItemPage} from '../create-item/create-item'; 
import {iQueue, iQueueItem} from '../../models/queue'; 
import {QueueHeader, contentHeaders } from '../../common/headers'; 


@Page({ 
    templateUrl: 'build/pages/queue-info/queue-info.html', 
    directives:[CreateItemPage] 
}) 
export class QueueInfoPage { 

    queueItem: iQueueItem; 
    objQueue:iQueue; 
    currentQueueId:number; 
    currentQueueName:string; 
    queues: any; 
    constructor(public nav: NavController, private navParams: NavParams,   private queueService: QueueService) { 
    this.nav = nav; 
    this.navParams = navParams; 


    this.queueItem = <iQueueItem>this.navParams.get('queueItem') 
    console.log(this.navParams.get('queueItem')); 
    this.currentQueueId = this.queueItem.id; 
    this.currentQueueName = this.queueItem.name; 

    this.queueService.fetchQueue(this.currentQueueId).then(data => { 
     this.objQueue = data; 
     this.queues = this.objQueue.items; 
     console.log(data); 
     // this.queues(data); 
    }); 
    } 

    createItem(queueId){ 
    this.nav.push(CreateItemPage, { 
     queueItemId: queueId 
    }); 
    } 

} 

Das ist mein @Component ist

import {IONIC_DIRECTIVES} from 'ionic-angular'; 
import {Component, Input} from '@angular/core'; 

@Component({ 

    selector: 'createnewqueueitem', 

    template: ` 

    <ion-list> 
    <ion-list-header> 
     ADD ITEM TO QUEUE 
    </ion-list-header> 
    <ion-item> 
     <ion-label floating>Item name</ion-label> 
     <ion-input type="text"></ion-input> 
     {{qId}} 
    </ion-item> 
    <button (click)="saveItem()">Save to queue 

    </button> 

    </ion-list> 

    `, 

    directives: [IONIC_DIRECTIVES] 
}) 

    export class CreateItemPage { 
    @Input() qId: string; 
    constructor() { 

    console.log(this.qId); 
    alert(this.qId); 

    } 
    saveItem(){ 

    } 
    } 

ich in Daten zu senden versucht, so @Component und auch auf diese Weise

Wo ist der Fehler ??

Antwort

0

So seltsam - nachdem ich für lange Zeit hier gewesen bin ..... Ich fand die Antwort.

ngOnInit() { 
    console.log(this.qId); 
    alert(this.qId); 
    } 

Scheint, wie Werte sind nicht bei dem Versuch, sie in Konstruktor zu lesen ... seine früh.