角创建空模型

时间:2018-10-18 15:23:03

标签: angular binding model

***编辑是因为由于缺乏Angular的经验,我认为我没有正确解释这一点。

我有一个具有用于更新用户的表单的组件(在本例中为子组件),我想在另一条路线上单独使用相同的组件来创建新用户,但是我不能似乎弄清楚了如何在“添加新用户”实例上使用我的用户模型。当任一屏幕加载时,我在控制台中收到此错误:

TypeError: "_co.user is undefined"

我确定这意味着我的用户模型未定义/初始化,但是我已经尝试过并且似乎无法弄清楚。在将其用作子组件来更新用户的路线上,在选择用户之后,表单可以正常工作,这将填充表单,并且我可以编辑信息或删除用户。这是我的component.ts文件的一部分,我试图创建一个新的空白用户模型,但这似乎也不起作用:

用户详细信息组件

import { Component, OnInit, Input } from  '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Location } from '@angular/common';

import { User } from '../user';
import { UserService } from '../user.service';

import { RouterModule, Router, Routes } from '@angular/router';

@Component({
selector: 'app-user-detail',
templateUrl: './user-detail.component.html',
styleUrls: [ './user-detail.component.css' ]
})

export class UserDetailComponent implements OnInit {

@Input() user: User;

users: User[];

constructor(
private route: ActivatedRoute,
private userService: UserService,
private location: Location,
private router: Router
) {}

有人能指出我正确的方向吗?我已经尝试解决这个问题了很长一段时间,无法弄清楚我需要做什么。

1 个答案:

答案 0 :(得分:0)

我认为初始化用户实例的位置是错误的,您在此处@Input() user: User;定义了用户变量,然后重新定义了user = new User();,我认为这段代码导致了

  

重复的标识符错误

请尝试使用此@Input() user: User = new User();并删除第二个用户定义 如果您正确地将用户实例传递给UserDetailComponent,则可以执行此方法,避免使用

  

用户未定义错误

或任何其他与未定义用户变量有关的错误