Есть ли обратный звонок или обещание для Aurelia show.bind?

В моем шаблоне у меня есть div, который я хочу использовать в качестве подсказки. Когда у меня выбрана модель, появляется всплывающая подсказка, а затем я использую привязь, чтобы поместить ее в нужное место. Если я установлю привязь сразу после установки модели, которая показывает элемент, его размер не будет правильно рассчитан, а привязь не будет правильно ограничивать ограничения. Если я откажусь от него с помощью setTimeout, я смогу получить его в нужном месте, но это кажется обманом. Мой вопрос:

Есть ли какой-нибудь механизм обратного вызова, который я могу прикрепить, который вызывается после того, как show.bind сделал элемент видимым?

Мой шаблон:

<div ref="tooltip" show.bind="selectedAlert" class="homepage-stats-tooltip panel panel-default">
    <div class="panel-body">
        <h1>${selectedAlert.Name}</h1>
        <dl>
            <dt>Normal</dt>
            <dd>${selectedAlert.NormalVolume}</dd>
            <dt>Current</dt>
            <dd>${selectedAlert.CurrentVolume}</dd>
        </dl>
    </div>
</div>

Функция, которая устанавливает модель и вызывает Tether:

showTip(event, state) {
    if (!state) {
        return;
    }

    console.log(`Show tip for ${state.Name}.`);
    this.selectedAlert = state;

    setTimeout(() => {
        new Tether({
            element: this.tooltip,
            target: event.target,
            attachment: "top left",
            targetAttachment: "top right",
            constraints: [
                {
                    to: this.usMap,
                    pin: true,
                    attachment: 'together'
                }
            ]
        });
    }, 10);
}

Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос