显示/隐藏ng-messages容器的最佳方式

时间:2015-11-02 22:53:17

标签: angularjs validation ng-messages

我们说我有以下输入字段:

    <div ng-messages="myForm.name.$error">
      <div ng-message="required">Please enter a name</div>
    </div>

问题是ng-messages元素占用了DOM中的空间,因此影响了其他表单元素的定位。我希望在出现错误之前不会将此元素添加到DOM中。是否始终存在ng-messages元素,但是删除了各个ng-message元素并将其添加到DOM中?

我希望ng-message可以替代ng-show / ng-hide,但似乎我仍然需要在ng-messages容器中添加ng-show以使其完全消失直到出现错误。我错过了一些更优雅的方式来使用ng-message吗?

1 个答案:

答案 0 :(得分:1)

使用ng-if

在满足条件之前不会打印

像这样

<div ng-messages="myForm.name.$error" ng-if="myForm.name.$error">