Тег метки имеет вид:
<label for="id_of_text_field">
<input type="text" name="example" id="id_of_text_field" />
Где тег for
метки и тег id
текстового поля должны совпадать. У меня было две идеи, чтобы сделать эту работу в моем шаблоне Ember.js:
Идея № 1: Я попытался создать специальную привязку с именем field_id
для использования как в label
, так и в TextField
. Я выполнил это следующим образом:
<label {{bindAttr for="content.field_id"}}> {{content.label}}</label>
{{view Ember.TextField valueBinding="content.data" id="content.field_id"}}
К сожалению, только идентификатор label's
отображается правильно. TextField's
id делает не рендеринг правильно и оказывается "metemorph... something-or-other".
Идея № 2: Чтобы каким-то образом вызвать идентификатор TextField и использовать его для тега метки, но я боюсь, что в какой-то момент идентификатор TextField не будет готов, когда будет выведен тег метки. Даже если это не проблема, я не знаю, как найти идентификатор TextField's
из JS.
Это в шаблоне, поэтому у меня будет более одной пары этих меток /TextField.
Как я могу получить ярлык for
для соответствия тегу TextField id
с Ember.js?
Спасибо!
UPDATE
Используя советы Peter Wagenet и небольшую модификацию, я сделал следующее:
<label {{bindAttr for="textField.elementId"}}> {{content.label}}</label>
{{view Ember.TextField valueBinding="content.value" viewName="textField"}}
Используя этот метод, пользователи теперь могут щелкнуть метки, чтобы выбрать TextFields, CheckBoxes и Selects.