Я работаю над своим первым угловым проектом. Хорошо это или плохо, но я пытаюсь преобразовать почти весь повторяющийся HTML в директивы. У меня есть требование, чтобы пользователь мог выбрать время в формате ЧЧ:ММ. Поэтому мне нужно показать два элемента SELECT. Поскольку мне нужно дать этот контроль во многих местах, я пытаюсь преобразовать его в директиву.
Шаблон директивы
<div class="filterLabel">{{fieldLabel}}</div>
<select class="FilterDDL" ng-style="{width: selectHhWidthPx + 'px'}">
<option value="none">HH</option>
<option value="8">08</option>
<option value="9">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
</select>
<span>:</span>
<select class="FilterDDL" ng-style="{width: selectHhWidthPx + 'px'}">
<option value="none">MM</option>
<option value="0">00</option>
<option value="30">30</option>
</select>
Мой ожидаемый конечный результат от этой директивы — получить значение времени в минутах [(ЧЧ * 60 + ММ)] для дальнейших вычислений. Однако я не могу придумать способ, которым я могу получить одну ngModel, связанную с моей директивой, которая возвращает время в минутах из комбинации двух раскрывающихся списков. Я читал о функции Link, но не могу понять, могу ли я использовать ее в своем сценарии. Является ли хорошей практикой иметь пользовательские директивы, охватывающие несколько элементов ввода?