2016-10-04 8 views
0

2つの単純な入力フィールドをangular2の1つのclick-eventにバインドしたいとします。 1つのボックスはテキストを入力する通常の入力でなければならず、もう1つはDate();というタイムスタンプを提供します。 ボタンのclickイベントで両方の値を表示するにはどうすればよいですか?angle 2 2つのオブジェクトを1つのイベントにバインドするためのsnytax

// input #date offers the timestamp timestamp 

    <input #date type="text" placeholder="now"> 
    <input #text type="text"> 
    <p><b>{{now}}</b> {{values}}</p> 
    <button class="btn btn-primary" (click)="values=box.value | text.value">Log Data</button> 
+0

あなたがやろうとしているかは明らかではない、あなたが任意の例を追加することができ、あなたが{{date.value + text.valueたいようです}} –

+0

はい。それが私が望むものです。現在の日付と時刻を 'Date(); 'date'をcomponent.tsから、' text'を入力の値とします。ボタンをクリックした後、両方とも

{{values}}

に表示されます。 – edamerau

答えて

1

私はあなたの意図にと推測する必要がなく、(インポートするFormsModuleが必要です)結合ダイレクトモデルを使用していないなぜあなたは両方の入力をキャプチャしようとしている場合は?

HTML:

<input #date type="text" placeholder="mm/dd/yyyy" [(ngModel)]="dateToLog"> 
<input #text [(ngModel)]="textToLog" type="text"> 
<div *ngIf="logValues"> 
<p *ngFor="let val of logValues"><b>{{val | json}}</b></p> 
</div> 
<button class="btn btn-primary" (click)="logValue()">Log Data</button> 

活字体:

logValues: any = []; 
dateToLog: string = ""; 
textToLog: string = ""; 

logValue(): void { 
    let d = new Date(Date.parse(this.dateToLog)); 

    let len = this.logValues.length; 

    let name1 = ("date_" + len); 
    let name2 = ("text_" + len); 

    let x = { }; 
    x[name1] = d; 
    x[name2] = this.textToLog; 
    this.logValues.push(x); 
    this.dateToLog = ""; 
    this.textToLog = ""; 
} 
関連する問題