Есть ли обратный звонок или обещание для 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);
}
Спасибо!