【发布时间】:2019-05-26 00:30:28
【问题描述】:
我想查看在前一个屏幕上选择的计划数据,然后提交包含所有数据的表单。在 Angular 中执行此操作的最佳方法是什么?
正如您在控制台中看到的那样,它在参数中显示对象而不是实际数据。
import { FormModel } from './../../shared/model';
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { ApiService } from './../../shared/api.service';
@Component({
selector: 'app-form',
templateUrl: './form.component.html',
styleUrls: ['./form.component.css']
})
export class FormComponent implements OnInit {
query: any;
form: FormModel;
constructor(
public apiService: ApiService,
public actRoute: ActivatedRoute,
public router: Router
) {
this.form = new FormModel();
}
ngOnInit() {
this.query = this.actRoute.queryParams.subscribe(params => {
console.log(params);
});
}
enviar(): void {
console.log(this.form);
this.resetForm();
}
resetForm() {
this.form = new FormModel();
}
}
直接在页面链接上传递参数。
<h2>Escolha um plano</h2><br>
<div class="row">
<div class="col-md-4" *ngFor="let pl of planoTablet.planos" #card>
<div class="card w-100">
<div class="card-body">
<div class="float-left">
<h5 class="card-title">{{ pl.franquia }}</h5>
<p class="card-text">R$ {{ pl.valor }}</p>
</div>
<a routerLink="/plataformas/planos/form/{{pl.sku}}/"
[queryParams]="planoTablet.planos" class="btn btn-danger btn-
lg float-right mt-2" [ngClass]="{'disabled': pl.ativo ==
false}">Contratar</a>
</div>
</div><br>
</div>
</div>
目标是显示先前选择的计划中的数据
【问题讨论】:
-
发布您将参数传递给路线的代码
-
直接在页面链接上传递参数[queryParams]="planoTablet.planos"