我是一个angular2新手,我有一个关于从模板中获取数据的问题。我有以下的模板:从模板获取数据返回到组件
<h2>Set parameters</h2>
<button (click)="onClick()">Calculate</button>
<h3>Sailing profiles</h3>
<label *ngFor="let sailingProfile of sailingProfiles">
<input type="checkbox" name="{{sailingProfile.title}}" value="{{sailingProfile.title}}">
{{sailingProfile.title}}<br>
</label>
<h3>Counters</h3>
<label *ngFor="let counter of counters">
<input type="checkbox" name="{{counter.type}}" value="{{counter.type}}">
<input type="text"> {{counter.type}}<br>
</label>
的目的是选择一个或多个帆船轮廓,并选择一个或多个计数器,并提供每个选定的计数器添加值。使用这个模板的组成部分是:
import {Component, EventEmitter, Output} from "@angular/core";
import {CounterService} from "../service/counter.service";
import {SailingProfileService} from "../service/sailing-profile.service";
import {CounterModel} from "../model/counter";
import {SailingProfileModel} from "../model/sailing-profile";
@Component({
selector: 'params',
templateUrl: '../../template/params.html',
providers: [CounterService, SailingProfileService],
})
export class ParamsComponent {
@Output() paramsUpdated: EventEmitter<string> = new EventEmitter<string>();
counters: CounterModel[] = [];
sailingProfiles: SailingProfileModel[] = [];
constructor(private counterService: CounterService, private sailingProfileService: SailingProfileService) {
}
ngOnInit() {
this.counterService.getCounters().subscribe(c => this.counters = c);
this.sailingProfileService.getSailingProfiles().subscribe(s => this.sailingProfiles = s);
}
onClick() {
this.paramsUpdated.emit('test');
}
}
我如何选择帆船轮廓和计数器以及它们的值回在onclick()方法?期望的结果是一个字符串,它看起来像这样:
{"counters":[{"type":"Running hours","value":6000},{"type":"Seconds","value":31536000}],"sailing_profiles":[{"title": "Continuous sailing"}]}