【问题标题】:Angular 2 Typescript Push Array Inside ObjectAngular 2 Typescript 在对象内推送数组
【发布时间】:2017-10-25 07:36:00
【问题描述】:

您好,我正在尝试将一个数组推送到我的对象中,而 Angular 似乎只是拒绝让它发生,我想知道我做错了什么。

这是我的“作业”,其中包含多个事务和我的事务类。

export class Job {
  Id: number;
  transactions: Transaction[];
}

export class Transaction {
  transactionId: number;
  transactionTime: Date;
}

在我的组件中,我声明了一个新的空作业,例如...,然后在用户输入一些数据并单击按钮后,我只想将 myTransaction 添加到 myJob 执行类似的操作...

myjob = new Job();
myTransaction = new Transaction();

this.myjob.transactions.push(this.myTransaction);

这不会产生错误,但是当我执行 onlick 事件时,页面就像在发帖一样,然后发生了一些事情。

我是不是弄乱了语法?

谢谢

【问题讨论】:

  • 您没有发布您的模板,但我假设您使用的是按钮。您必须设置type=button 否则它将提交表单。
  • 它无法轻松发布我的模板,但我发现当我注释掉 this.myjob.transactions.push(this.myTransaction); 时,它并没有做页面重新加载的事情。我相信它这样做只是因为推动不起作用。
  • 从您目前的代码中,this.myjob.transactions 未定义。你应该像transactions: Transaction[] = []; 那样在你的类中初始化数组。还要检查控制台是否有错误。
  • @andreim 谢谢!当我将其更改为 transactions: Transaction[] = []; 时,问题最终导致我没有在课堂上初始化我的数组。

标签: angular typescript


【解决方案1】:

您只需将事务声明为这样的数组:

transactions: Transaction[] = [];

【讨论】:

    猜你喜欢
    • 2020-10-28
    • 2018-04-21
    • 2019-05-09
    • 1970-01-01
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 2016-10-31
    相关资源
    最近更新 更多