Синтаксис Angular 2 для привязки 2 объектов к 1 событию

Я хочу связать 2 простых поля ввода с 1 событием клика в Angular. Одно поле должно быть обычным полем ввода для ввода текста, другое поле будет предоставлять отметку времени как Date();. Как отобразить оба значения с событием клика на кнопке?

// 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>

person edamerau    schedule 04.10.2016    source источник
comment
Непонятно, что вы пытаетесь сделать, можете ли вы добавить какой-либо пример, кажется, вы хотите {{date.value + text.value}}   -  person Madhu Ranjan    schedule 04.10.2016
comment
да. это то, что я хочу. текущая дата и время на Date(); как date из component.ts и как text независимо от значения ввода. оба должны отображаться в ‹p›{{values}}‹/p› после нажатия кнопки.   -  person edamerau    schedule 05.10.2016


Ответы (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 = "";
}
person silentsod    schedule 04.10.2016