为什么我在输入中看到[object Object]?

时间:2018-12-18 12:49:36

标签: javascript angular typescript angular7

我不明白为什么在输入中没有占位符,而是看到[object Object]

这是我的 html

<div class="input-form">
  <input type="text" placeholder="Type name here..." [(ngModel)]="newItem">
  <button (click)="addItem()">Add new</button>
</div>
<ul>
  <li *ngFor="let item of items">{{ item }}
    <button (click)="deleteItem(item)" >Delete</button>
  </li>
</ul>

这是 component.ts

newItem = {};
items = [];

addItem() {
  if (this.newItem !== null) {
    this.items.push(this.newItem);
    this.newItem = {};
  }
}

2 个答案:

答案 0 :(得分:2)

pipe[object Object]函数的结果。

toString()

结果:

const obj = { }; console.log(obj.toString());

您需要传递[object Object]类型的值,但我强烈建议完全不要传递string的值。您应该使用ngModel创建表单。

答案 1 :(得分:1)

您应该将newItem定义为 string ,因为它引用了来自您的input binding 目标值>。

newItem: string;