You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular提交表单时如何通过@Input将用户输入传递到新组件

基于@Input实现跨组件表单数据传递的具体步骤

你当前的代码已经完成了表单构建、校验逻辑,只需要补全数据赋值、路由配置、接收端定义输入属性、模板渲染四个环节即可,具体操作如下:

1. 修改结账页提交逻辑,绑定表单值到订单对象

你现有代码仅在控制台打印了表单值,没有将值存入已定义的order实例,先修改CheckoutPageComponent的submit方法,补全赋值和传参逻辑:

submit() {
  this.isSubmitted = true;
  if (this.checkOutForm.invalid) return;

  // 将表单输入值绑定到order对象
  this.order.name = this.fc.name.value;
  this.order.email = this.fc.email.value;
  this.order.address = this.fc.address.value;

  alert('Your order has been placed! Order will be delivered upon successful payment.')
  // 路由跳转时通过state携带订单数据
  this.route.navigate(['/order-summary'], {
    state: { order: this.order }
  });
}

2. 配置路由规则,开启输入属性绑定

找到项目中定义路由规则的文件(通常为app-routing.module.ts),给order-summary对应的路由项添加bindToComponentInputs: true配置,开启路由数据到组件@Input属性的自动映射:

const routes: Routes = [
  // 其他已有路由配置保持不变
  {
    path: 'order-summary',
    component: OrderSummaryComponent, // 你用来展示提交内容的组件
    bindToComponentInputs: true // 新增该行配置
  }
];

该配置支持Angular 14及以上版本,如果你使用的是更低版本,可以在订单摘要组件的ngOnInit生命周期中通过ActivatedRoute获取路由state中的order数据,再赋值给@Input标记的属性即可,逻辑完全一致。

3. 在数据展示组件中定义@Input接收属性

打开订单摘要组件(OrderSummaryComponent)的ts文件,定义输入属性接收传递过来的订单数据:

import { Component, Input, OnInit } from '@angular/core';
import { Order } from '../models/Order'; // 引入你已定义的Order模型

@Component({
  selector: 'app-order-summary',
  templateUrl: './order-summary.component.html',
  styleUrls: ['./order-summary.component.css']
})
export class OrderSummaryComponent implements OnInit {
  // @Input属性名必须和路由传参时state里的key一致,这里为order
  @Input() order!: Order;

  ngOnInit(): void {
    // 此处可直接访问this.order拿到所有提交数据,包含用户输入的姓名、邮箱、地址,以及购物车商品、总价信息
  }
}

4. 在展示组件模板中渲染提交内容

打开订单摘要组件的html模板,直接绑定order属性即可展示用户提交的输入内容:

<div class="submitted-info">
  <h3>配送信息</h3>
  <ul>
    <li>姓名:{{ order.name }}</li>
    <li>邮箱:{{ order.email }}</li>
    <li>配送地址:{{ order.address }}</li>
  </ul>
  <!-- 你也可以在这里渲染order.items、order.totalPrice等订单关联信息 -->
</div>

内容的提问来源于stack exchange,提问作者user19452009

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 12:33:12