Typescript 从Angular 2中的单击事件将对象加载到窗体中
我对angular 2不熟悉;我使用typescript对组件进行编程,我有一个“product”对象,在登录到网站时,用户会看到所有产品的列表(来自RESTful端点的JSON数据)。如果该用户单击列表中的一个产品,则会将其带到“编辑”页面,在该页面中,该产品的所有详细信息将填充到表单字段中,供用户编辑。我的问题是,如何在angular 2中编程?我在网上看到的大多数示例都在与视图相同的页面(组件)上进行编辑Typescript 从Angular 2中的单击事件将对象加载到窗体中,typescript,angular2-forms,angular-routing,angular-reactive-forms,Typescript,Angular2 Forms,Angular Routing,Angular Reactive Forms,我对angular 2不熟悉;我使用typescript对组件进行编程,我有一个“product”对象,在登录到网站时,用户会看到所有产品的列表(来自RESTful端点的JSON数据)。如果该用户单击列表中的一个产品,则会将其带到“编辑”页面,在该页面中,该产品的所有详细信息将填充到表单字段中,供用户编辑。我的问题是,如何在angular 2中编程?我在网上看到的大多数示例都在与视图相同的页面(组件)上进行编辑 我的项目结构: 产品(型号) product.service(服务)-->从RE
- 我的项目结构:
- 产品(型号)
- product.service(服务)-->从RESTful端点获取数据
- 产品组件(组件)-->加载所有产品并显示在列表中
- 编辑.component(组件)-->显示所选产品的所有数据,也使用HTML中的反应式表单控件
- 使用angular 2版本4
谢谢 按照您的建议使用端点是正确的方法。 这方面需要采取的步骤很少
const routes:routes=[
{path:'products',component:ProductComponent},
{path:'products/:id',component:EditProductComponent}
];
二,。在ProductComponent中单击调用正确的路由
三,。从EditProductComponent中的路由检索id
我从这里的另一个问题中看到了类似的东西:(是的,我知道链接不是最好的)。本质上说它是@RouteConfig([{component:MainComponent,path:“/:id”}]),然后是this.router.navigate(['../Main',{id:2}]);,然后导出类MainComponent{constructor(params:RouteParams){let value:any=params.get(“id”);}}-->谢谢Vlado Tesanovic
constructor(private router: Router, private service: ProductService) {}
onClick(id: number) {
this.router.navigate(['products', id]);
}
constructor(private activatedRoute: ActivatedRoute,
private service: ProductService) {}
ngOnInit() {
const id = this.activatedRoute.snapshot.params['id'];
if (id) {
// get product data by calling endpoint with provided id
// e.g. this.service.getProduct(id).subscribe...
} else {
// throw some notification to user
}
}