2017-06-28 18 views
4

新しいものをAngular2に追加し、Imは入力から新しい項目をリストに追加しようとしています。しかし、[object object]の代わりに[submit]をクリックしてください。ここで角度2入力から新しい項目を追加します。

は私のコードです:

app.component.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> 

app.component.ts

items = Players; 
name; 

addItem(name): void { 
     this.items.push(new Player({ 
      name : name 
     })); 
    } 

player.ts

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

    constructor(name){ 
     this.id; 
     this.name = name; 
     this.count = 0; 
    } 

すべてのプレイヤー.ts

export let Players: Player[] = [ 
]; 

は、私は完全な答えを書きます答え

答えて

0

いただきありがとうございます。あなたのコンポーネントで

(TSファイル):あなたのHTMLで

items = Players; 
name; 

addItem() { this.items.push(new Player({ name : this.name })); } 

:その上

<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> 

私の推測では、あなたのフォーム2回を提出していることです。

+0

あなたは正しいですが、ボタンのタイプを変更した後も私はまだ[オブジェクトオブジェクト]を取得します –

+0

何がありますか?入力またはあなたのプレーヤー? – trichetriche

+1

とにかく、私のコードを使用すれば問題は解決します。ここでの問題は、メソッドaddItemがnameという名前のパラメータを要求することです。しかしあなたのhtmlで、あなたはアイテムを送る!パラメータを削除して書いたようにするか、アイテムの代わりに名前を送信します。どちらの場合も、もう問題はありません。 – trichetriche

関連する問題