【发布时间】:2016-02-09 05:15:09
【问题描述】:
我正在尝试构建一个使用标签和文本输入字段的指令。
我希望标签仅在输入字段处于焦点或字段不为空时显示。
这是我现在拥有的代码。我需要把它变成一个指令,以便在其他领域使用它。
<label class="text-field-top-label"></label>
<input type="email"
name="email"
ng-model="user.email"
ng-model-options="{updateOn: 'blur'}"
required
placeholder="Email address"/>
我无法确定如何执行此操作,因为我无法查找标签或文本字段,并且我不想为它们分配 ID,因为我想将这些元素转换为指令。 欢迎任何想法
【问题讨论】:
-
指令代码在哪里?你不能只使用
ngBlur(docs.angularjs.org/api/ng/directive/ngBlur) 和ngFocus(docs.angularjs.org/api/ng/directive/ngFocus) 吗? -
为什么不在标签中使用
ng-show="myFunction()"? -
ng-show/ng-focus 的问题是我无法从标签访问输入字段,反之亦然。如果这不是指令,我无法遍历 dom 元素以获取它们。
-
如果我使用 ngModel,那么它只会在模糊时更新,并且只有在它有效的情况下(这是 UX 需求)