我现在正在使用Angular官方网站的教程来学习Angle。
我不知道如何将字符串变量添加到Hero [](这是我的自定义类型)
heroes.component.ts
import { Hero } from '../hero';
heroes: Hero[];
test(heroname: string) {
// this.heroes.id = 1;
if (heroname) {
console.log(heroname);
this.heroes.push(heroname);
}
}
heroes.component.html
<form>
<label>name:
<input #hero placeholder="name">
</label>
<button (click)="test(hero.value); hero.value=''" >test</button>
<label *ngFor ="let heroh of heroes">
<p>hero: {{heroh}}</p>
</label>
</form>
hero.ts
export class Hero {
id: number;
name: string;
}
我们将不胜感激任何帮助。
答案 0 :(得分:0)
this.heroes.push({id: 1, name: heroname});
您还应该初始化heroes
数组:
heroes: Hero[] = [];
答案 1 :(得分:0)
将其更改为界面
export interface hero
{
id:number;
name:string;
}
当您为可变英雄使用HERO []类型的界面时; 它将接受具有ID和名称组合的对象;
所以你应该推动 this.heroes.push({id:1,name:heroname})
答案 2 :(得分:-1)
您可以仅将heroes
个对象推入hero
数组中。
英雄对象应该看起来像这样{id: 1, name: 'heroName'})
您应该像这样初始化数组的值:
heroes: Hero[] = [];