我正在做我的第一个角度项目。无论好坏,我都在尝试将几乎所有可重复的 HTML 转换为指令。我需要让用户选择 HH:MM 格式的时间。所以我需要显示两个 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>
我对该指令的预期最终结果是获得以分钟为单位的时间值 [(HH * 60 + MM)] 以进行进一步计算。但是,我想不出一种方法可以获取与我的指令关联的单个 ngModel,该指令从两个下拉列表的组合中返回以分钟为单位的时间。我阅读了有关链接功能的信息,但不知道是否可以在我的场景中使用它。让自定义指令跨越多个输入元素甚至是一种好习惯吗?