Angular 2 从输入添加新项目

Dáv*_*sek 5 javascript input typescript angular

我是 Angular2 的新手,我试图从输入向列表中添加一个新项目。但是然后单击提交我而不是文本 [object Object]。

这是我的代码:

应用程序组件.html

<form (submit)="addItem(item)">
    <md-input-container>
      <input [(ngModel)]="name" mdInput placeholder="add" name="addNew">
    </md-input-container>
      <button type="submit" md-icon-button>
          <i class="material-icons">send</i>
    </button>
    </form>
Run Code Online (Sandbox Code Playgroud)

app.component.ts

items = Players;
 name;

 addItem(name): void {
        this.items.push(new Player({
            name : name
        }));
    }
Run Code Online (Sandbox Code Playgroud)

播放器.ts

export class Player {
    id: number;
    name: string;
    count: number;

    constructor(name){
        this.id;
        this.name = name;
        this.count = 0;
    }
Run Code Online (Sandbox Code Playgroud)

所有玩家.ts

export let Players: Player[] = [
];
Run Code Online (Sandbox Code Playgroud)

谢谢你的回答

小智 0

我会写一个完整的答案。

在您的组件(TS 文件)中:

items = Players;
name;

addItem() { this.items.push(new Player({ name : this.name })); }
Run Code Online (Sandbox Code Playgroud)

在你的 HTML 中:

<form (submit)="addItem()" novalidate>
    <md-input-container>
        <input [(ngModel)]="name" mdInput placeholder="add" name="addNew">
    </md-input-container>
    <button type="submit" md-icon-button>
        <i class="material-icons">send</i>
    </button>
</form>
Run Code Online (Sandbox Code Playgroud)

我的猜测是您提交了两次表格。