Вы можете использовать *ngFor
для достижения этой цели, но ngFor нужен массив или любой объект с итеративным интерфейсом, поэтому вот что вы можете сделать:
в вашем файле TypeScript:
export class YourClass {
public x = number;
public btnNmb: number = 9;
public btnsArray: Array<number> = []; // You need to initialize it so your template doesn't break
constructor () {
// You can call it here or on ionViewDidLoad() lifecycle hook
// Or if the btnNmb is a dynamic number you can call it again when the value changes
this.generateNumberArray();
}
// You need to iterate from 1 to the number given in the btnNmb property
generateNumberArray = () => {
for(var i = 1; i <= this.btnNmb; i++){
this.btnsArray.push(i);
}
}
// The function that's triggered by button click
fnc = number => this.x = number;
}
тогда в yout html вы будете использовать ngfor
для перехода по массиву и отображения количества кнопок
<button ion-button *ngFor="let nmb of btnsArray" (click)="fnc(nmb)">{{nmb}}</button>
Вот документация NgFor , если вам нужна дополнительная информация. Надеюсь, это поможет.