【发布时间】:2021-07-15 14:30:13
【问题描述】:
我有 2 个姓名和年龄输入字段,我需要在列表中显示我添加的每个用户。但是,显示的不是姓名和年龄:
[object Object] 的年龄是 [object Object]。
我的 app.Component.ts 文件是:
export class AppComponent {
users = []
addUser(name: string , age : number): void {
const uniqueId = Math.random().toString(16)
const newUser = {
id: uniqueId,
name,
age
}
this.users.push(newUser)
}
}
userList.component.ts 文件是:
export class UsersListComponent
{
@Input() users;
@Output() adduserEvent = new EventEmitter<Object>()
newUsername: string = ''
newUserAge: number = 0
setNewUserName (userName : string): void {
this.newUsername = userName
}
setNewUserAge (userAge : string): void {
this.newUserAge = parseInt(userAge)
}
addUser(): void {
console.log(this.newUsername, this.newUserAge)
this.adduserEvent.emit({name: this.newUsername , age: this.newUserAge})
this.newUsername = ''
this.newUserAge = 0
}
}
HTML 部分是:
应用内:
<app-users-list [users] = users (adduserEvent)="addUser($event, $event)"></app-users-list>
在用户列表中:
<input #userName type="text" (change)="setNewUserName(userName.value)" [value] = "newUsername"/>
<input #userAge type="number" (change)="setNewUserAge(userAge.value)" [value] = "newUserAge"/>
<button (click) = "addUser()">Add new User</button>
<div *ngFor = "let user of users" class="user-container">
<span>{{user.name}}'s age is {{user.age}}</span>
</div>
【问题讨论】:
-
您在 App 组件中的 User 数组和您显示的模板属于 user-list 组件。
标签: html json angular typescript