在我的angular6应用程序中,
我声明了以下空数组:
conversation=[]
我在共享模块中有一个构造函数,它确实初始化下面的对话对象是代码
export class messageThread {
internalId?: number;
unreadMessageCount?: number;
subject?: string;
managerCode?: string;
constructor(json?: any) {
if ( !json ) return;
this.internalId= json.internalId || 0;
this.unreadMessageCount=json.internalId || 0;;
this.subject = json.internalId || '';
this.managerCode =json.managerCode|| '';
}
}
但是,如果在我的ts文件中,请按照以下说明操作。
this.conversation = new dataModel.messageThread ();
它给我一个错误:说只能使用push,pop,我知道这是因为我已经用空数组初始化了它,并且确实希望将数组作为赋值,是否有任何方法可以将对象赋给一个空数组,或者我在这里丢失了一些东西
答案 0 :(得分:1)
也许您想输入数组:
public conversation: messageThread [] = [];
并推送值:
this.conversation.push(new dataModel.messageThread());
答案 1 :(得分:1)
在使用angular时,请始终记住,angular是javascript框架,因此您可以根据自己的问题在angular中使用任何javascript函数,您可以在数组上简单地使用.push()函数;
var abc = [];
obj = {itemName:'paste',itemPrice: '50$'};
abc.push(obj);
console.log(abc);
答案 2 :(得分:0)
您可以像这样使用对象解构...
conversation=[];
obj = {
itemName:'paste',
itemPrice: '50$'
}
ngOnInit(){
this.conversation = [ { ...this.obj } ];
}
答案 3 :(得分:0)
将对象分配给Array类型没有任何意义。如果要将对象关联到conversation
变量。为什么不输入conversation
的类型或将其分配为空对象。 conversation = {}
,然后使其等于this.conversation = new dataModel.messageThread ();
。