这个角度指令可以改进吗?

时间:2015-03-24 23:40:57

标签: angularjs angular-directive

我创建了一个浮动标签指令,它获取现有占位符的值并将其放入div元素中,该元素用作浮动标签。然后删除占位符属性并隐藏标签标记。该指令工作正常,但我担心它如何操纵DOM。我想知道是否有更好(更清洁)的方式: 1)管理浮动标签div元素的模板:

  var template = '<div class="floating-label">{{ placeholder }}</div>';

  //append floating label template
  $element.after($compile(template)($scope));

2)通过for属性(与输入关联的属性)找到label标签:

document.querySelector('label[for="' +  $scope.id +  '"]').style.display = 'none';

应该注意使用jqLit​​e。 (没有jQuery)

带有指令的plunker

1 个答案:

答案 0 :(得分:1)

看起来不错,只是一些评论:

  • 我会删除隔离范围,只使用attrs参数;消除了对$ compile服务的需要。
  • 不需要ngModel
  • 考虑删除节点。 (我可以选择其中任何一种方式)
  • reference my changes