Aurelia UI Virtualization - переплет

Я играю с классным плагином Aurelia UI-Virtualization ( https://github.com/aurelia/ui-virtualization), чтобы предоставить пользователю список результатов поиска.

Если они делают новый поиск, я хочу заменить текущие результаты новыми. Я думаю, вам просто нужно установить массив для новых результатов, но это создает какое-то странное поведение, вроде как список "запоминает" его старое содержимое.

В моем случае, когда вы нажимаете на один из результатов поиска, отдельная панель показывает детали этого результата поиска. Но после повторной привязки он все же показывает информацию о старом результате.

Спасибо!

Аарон

1 ответ

Мне удалось решить аналогичную проблему с помощью сигналов:

http://aurelia.io/hub.html#/doc/article/aurelia/binding/latest/binding-binding-behaviors/5

search.js:

import {inject} from 'aurelia-framework'
import {BindingSignaler} from 'aurelia-templating-resources'

export class Search
{
    static inject() { return [BindingSignaler] }

    constructor(signaler)
    {
        this.signaler = signaler
    }

    search()
    {
        // do your thing
        this.searchresults = [ /* searchresults here */ ]
        this.signaler.signal('update-results')
    }
}

search.html

<template>
    <div repeat.for="item in searchresults & signal:'update-results'">
        ${ item }
    </div>
</template>
Другие вопросы по тегам