【发布时间】:2015-03-24 23:40:57
【问题描述】:
我创建了一个浮动标签指令,它获取现有占位符的值并将其放入用作浮动标签的 div 元素中。然后删除占位符属性并隐藏标签标签。该指令工作正常,但我担心它如何操作 DOM。我想知道是否有更好(更清洁)的方法: 1)管理浮动标签div元素的模板:
var template = '<div class="floating-label">{{ placeholder }}</div>';
//append floating label template
$element.after($compile(template)($scope));
2) 通过 for 属性(与输入关联的那个)找到标签标签:
document.querySelector('label[for="' + $scope.id + '"]').style.display = 'none';
需要注意的是使用了jqLite。 (没有 jQuery)
带有指令的plunker
【问题讨论】:
-
为什么不使用嵌入?
-
另外,我相信这种问题在Code Review 网站上更合适,因为实际上没有您要解决的问题。
-
嵌入有哪些改进?
-
我认为@Claies 提出了嵌入,因为您正在手动编译模板。
-
是的,在我有机会真正深入审查 plunker 之前,我根据
$compile声明提到了嵌入。看了之后,我很快意识到我的想法有点不对劲。
标签: angularjs angular-directive