简体   繁体   English

如何在angular4中将数字推送到数组中?

[英]How to push a number in an Array in angular4?

I am trying to push a number in an array when i click on a button but it does not seem to work. 当我单击按钮时,我试图在数组中推送数字,但它似乎不起作用。

In my app.component.html:- 在我的app.component.html中:

<div>
    <label>Number of days:- 
        <input [(ngModel)]="numDay"><button type="button" class="btn btn-primary btn-lg" (click)="onClickMe()">OK</button>
    </label>
</div>
<p>{{dayNum}}</p>

In my app.component.ts :- 在我的app.component.ts中:-

  private numDay : number;
  private master1 : number;
  private dayNum = [2,3];

  ngOnInit() {
    this.dayNum.push(8);  
  }
  onClickMe() {
    this.master1 = (this.numRace*1);
    this.dayNum.push(99); // <<<<--- This does not seem to work
  };

You can check my code in Plunker: 您可以在Plunker中检查我的代码:

http://plnkr.co/edit/jM3NDu7V3AjzOWeuCoDi?p=preview http://plnkr.co/edit/jM3NDu7V3AjzOWeuCoDi?p=preview

Thank you for your help 谢谢您的帮助

I've had this problem before and it turned out to be to do with change detection in Angular. 我以前遇到过这个问题,事实证明它与Angular中的更改检测有关。

My solution was to do a shallow copy instead of a push. 我的解决方案是执行浅拷贝而不是推送。 But a *ngFor may solve this also. 但是* ngFor也可以解决此问题。

this.dayNum = [...this.dayNum, 9];

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM