Допустим, я создал какой-то компонент Aurelia.Для этого примера, скажем, я построил гипотетический компонент, называемый ui-money.
Предположим, что компонент ui-money содержит элемент ввода текста и другой элемент (например, span) наряду с вводом, которыйпоказывает обменный курс.По сути, что-то вроде:
<template>
<input value.bind="amountStr" ... >
<span>${exchange_rate}</span>
</template>
Затем я строю представление Aurelia (страница), которое включаетelement.
У меня такой вопрос: скажем, я хочу сфокусироваться на элементе "ui-money".
На практике я не хочу знать внутреннюю структуруэлемент пользовательского интерфейса (знание белого ящика), и я не должен этого хотеть.Но ясно, что мне нужно сосредоточиться, чтобы перейти к элементу INPUT ВНУТРИ элемента ui-money.
Итак, мне кажется, что мне нужно попросить элемент ui-money выполнить действие по настройке фокуса для меня..
Теперь наиболее очевидным первым вариантом было бы предоставить ссылку на элемент ui-money как таковой <ui-money ref="purchasePriceUx">
и сделать так, чтобы модель представления ui-money раскрыла какой-то метод takeFocus()
.Затем мы могли бы вызвать purchasePriceUx.takeFocus()
.
Но мне интересно знать, есть ли лучший способ добиться этого, сохраняя при этом тот же уровень развязки.