angular - 在数组 angular 4 中添加项目

标签 angular typescript

我有以下代码

export class FormComponent implements OnInit {
  name: string;
  empoloyeeID : number;
  empList: Array<{name: string, empoloyeeID: number}> = []; 
  constructor() {
  }

ngOnInit() {
  }

onEmpCreate(){
   console.log(this.name,this.empoloyeeID);
   this.empList.push.apply(this.name,this.empoloyeeID);
   this.name ="";
   this.empoloyeeID = 0;
   }
}

但是这个抛出错误

CreateListFromArrayLike called on non-object

还有什么方法可以创建自定义类和使用的对象列表而不是在这里定义数组。

谢谢

最佳答案

是的,有一种方法可以做到。

首先声明一个类。

//anyfile.ts
export class Custom
{
  name: string, 
  empoloyeeID: number
}

然后在你的组件中导入类

import {Custom} from '../path/to/anyfile.ts'
.....
export class FormComponent implements OnInit {
 name: string;
 empoloyeeID : number;
 empList: Array<Custom> = [];
 constructor() {

 }

 ngOnInit() {
 }
 onEmpCreate(){
   //console.log(this.name,this.empoloyeeID);
   let customObj = new Custom();
   customObj.name = "something";
   customObj.employeeId = 12; 
   this.empList.push(customObj);
   this.name ="";
   this.empoloyeeID = 0; 
 }
}

另一种方法是接口(interface)阅读一次文档- https://www.typescriptlang.org/docs/handbook/interfaces.html

也看看这个问题,很有意思-When to use Interface and Model in TypeScript / Angular2

关于angular - 在数组 angular 4 中添加项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47090080/

相关文章:

javascript - Angular2 - 从窗口点击检测实体点击?

javascript - React-Native - 通过嵌套对象崩溃递归

javascript - Angular 静态注入(inject)器错误

android - 在 Android 上运行时,Ionic-Native PhotoLibrary 在 SaveImage 上崩溃

html - Angular如何设置routerLink的样式

html - 有没有一种很好的方法来实现扩展 onHover 的 div 交叉?

javascript - 检查字符串格式的日期时间是否等于中午

typescript - typescript 中的内部类类型

javascript - Angular 2 Typescript 中的第三方库

Angular 指令选择器不适用于外部库中的元素