使用ngMessages
初始化select
元素的选项时,是否可以使用ngOptions
来显示错误?
对于前者在
<select name="fruitNames" ng-model="fruitName" ng-options="fruit.name for fruit in fruits"></select>
如果fruits
为空,我想显示错误消息。
答案 0 :(得分:5)
您可以将任何表达式作为kvp提供给ng-messages
,例如我将布尔值设置为hasFruits
并使用键hasFruits
。
<div ng-messages="{noFruits:!fruits.length}" >
<div ng-message="noFruits">Sorry, No fruits available!!</div>
</div>
angular.module('app', ['ngMessages']).controller('ctrl', function($scope) {
$scope.fruits = [];
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-messages.js"></script>
<div ng-app="app" ng-controller="ctrl">
<div ng-messages="{hasFruits:!fruits.length}">
<div ng-message="hasFruits">No fruits available!!</div>
</div>
</div>
这看起来有点奇怪,因为你真的没有多个条件(与使用带有$ error对象的ngMessages的方式不同),你也可以显示和隐藏div。