2017-03-11 7 views
0

角2を初めて使用し、データバインディングを使用しています。1ページから別のページに値を印刷する方法がわかりません。私はこのコードを試していますが、同じページに値を表示します。もし誰かが論理を助けてくれたら、事前に感謝してください!角型2を使用して1ページで入力を取得し、次のHtmlページに印刷する方法

//child.component.ts

import {Component, EventEmitter, Input, Output} from '@angular/core'; 
import {Student} from './student'; 
import {Router} from '@angular/router'; 

@Component({ 
    selector: 'child-one', 
    template: ` 
     <nav> 
     <h3>{{childTitle}}</h3> 

     <div> 
      First Name:<input (input)="student.fname=$event.target.value" /> <br/> 
      Last Name:<input (input)="student.lname=$event.target.value" /> 
      <button (click)="addStudent()">Add Student</button> 
     </div > 
    `, 
}) 

export class ChildOneComponent { 

    constructor(private _router: Router){ } 

    @Output('addStudentEvent') 
    addStdEvent = new EventEmitter<Student>(); 

    student = new Student(); 
    childTitle = '---Child One---'; 

    addStudent() { 
     this.addStdEvent.emit(this.student); 
     this._router.navigate(['name']); 
    }  
} 

//Parent.component.ts

import {Component,EventEmitter,Input} from '@angular/core'; 
import {Student} from './student'; 
import {Router} from '@angular/router'; 

@Component({ 
    selector: 'input-output', 
    template: ` 
     <h1>{{parentTitle}}</h1> 
     <p>Name: {{stdFullName}}</p> 

     <child-one (addStudenztEvent) = "saveData($event)"></child-one>      
    ` 
    // providers: [Student] 
    }) 

export class ParentComponent { 
    parentTitle = 'Parent Component'; 
    stdAddMsg = 'Add Student'; 

    //Property used in parent 
    stdFullName = ''; 

    saveData(std) { 
     this.stdFullName = std.fname + ' ' + std.lname ; 
    }  
} 
+0

可能重複(http://stackoverflow.com/questions/42596458/how-can-i-detect-the-inner-html-change-in-a-div 〜と角度2/42596914#42596914) – Aravind

答えて

関連する問題