Как поднять ObservableArray.changeEvent с помощью notify () - PullRequest
0 голосов
/ 14 декабря 2018

Некоторые свойства элементов Repeater в XML привязаны к методам (я не могу сделать для них геттеры, только методы):

<Repeater items="{{ some.items }}">
    <Repeater.itemsLayout>
        <StackLayout/>
    </Repeater.itemsLayout>
    <Repeater.itemTemplate>
        <Button tap="{{ onTap }}" text="{{ getText() }}" backgroundColor="{{ getButtonBg() }}"/>
    </Repeater.itemTemplate>
</Repeater>

Все работает.Но теперь я хочу, чтобы getButtonBg() для каждой кнопки в повторителе было пересчитано, хотя some.buttons не изменилось.Я пытаюсь по-разному вызывать различные события через notify(), но не могу заставить getButtonBg() быть вызванным.Я не хочу делать пустышку some.items.setItem(0, some.items.getItem(0).Оно работает.Но я хочу получить тот же эффект через notify()

1 Ответ

0 голосов
/ 14 декабря 2018

notify() метод some.items должен вызываться с object со ссылкой на тот же ObservableArray

this.some.items.notify({
    eventName: ObservableArray.changeEvent,
    object: this.some.items
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...