Вы можете сделать это очень легко с помощью односторонней привязки. Итак, в my-class.page.ts
вы создаете переменную класса для хранения ваших свойств заполнения кнопки:
export class MyClass {
public myButtonFills: string[];
}
Затем измените заполнение кнопок по своему усмотрению: myButtonFills[myButtonIndex] = 'solid'
. Вы делаете это в своем коде всякий раз, когда вам это нужно (в my-class.page.ts
). Чтобы связать его с вашим пользовательским интерфейсом, просто используйте скобку для создания односторонней привязки:
<ion-button [fill]="myButtonFills[thisButtonIndex]">Button</ion-button>
Модификация (refre sh) массива myButtonFills
- это то, что вы должны позаботиться в своем код.
В качестве альтернативы вы можете вызвать функцию (может быть, получатель) в привязке, например:
<ion-button [fill]="getButtonFill(thisButtonId)">Button</ion-button>
Так что в вашем myClass.page.ts
будет функция public getButtonFill(buttonId: any): string
, который вычисляет соответствующую заливку кнопки для данного идентификатора кнопки. Это может быть легко сделать, но иногда приводит к l oop вызовам функций из-за детектора изменений Angular.
Надеюсь, это поможет.