angular - Angular创建空模型
问题描述
***编辑是因为我认为我没有正确解释这一点,因为我缺乏 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
) {}
谁能指出我正确的方向?我已经尝试解决这个问题很长一段时间了,但不知道我需要做什么。
解决方案
我认为初始化用户实例的地方是错误的你在这里定义用户变量@Input() user: User;
然后重新定义它user = new User();
,我认为这段代码导致
重复标识符错误
试试这个@Input() user: User = new User();
并删除第二个用户定义如果您将用户实例正确传递给 UserDetailComponent 您可以执行此方法并避免
用户未定义错误
或与未定义用户变量相关的任何其他错误
推荐阅读
- c# - C# 选择 DateTimePicker 时隐藏日期
- c# - 来自多个 texbox 的 SQL Server 更新
- xamarin - Xamarin ...迁移到 .NET Standard 2.0 失败
- python - Python:三对情侣过河
- matlab - 如何在不使用交错/整形方法的情况下在 Matlab 中读取复杂的 3D 矩阵(二进制文件)?
- c++ - cpp中的随机数组
- typescript - 如何从打字稿中的数组中获取键
- java - Redisson 客户端 setnx
- .net-core - 找出 Newtonsoft 无法解析字符串的位置和原因
- java - 使用 OpenSAML 3 的 SAML 断言验证