我正在使用 AngularJS 作为登录表单,并且正在使用用户名/密码对服务器进行 API 调用并显示警报。
登录.jade
// form
input(type="submit",ng-click="submit()")
div.alert(ng-show="showAlert",class="{{alert}}",ng-animate="{show: 'alert-show', hide: 'alert-hide'}")
button(ng-click="showAlert = !showAlert") fadeIn
控制器.js
$scope.submit = function () {
if ($scope.username != undefined && $scope.password != undefined) {
$http({
method: 'POST',
data: {
username: $scope.username,
password: $scope.password
},
url: 'api/login'
}).
success(function (data, status, headers, config) {
if (data.auth) {
$scope.alert = data.alert;
} else {
$scope.alert = data.alert;
}
}).
error(function (data, status, headers, config) {
// something else
});
$scope.showAlert = true;
}
}
data.alert
是警报的类别 ( alert-success
, alert-warning
),但它会立即显示警报,而不会褪色。如果我删除$scope.alert = data.alert
,一切正常。我正在考虑拥有 2/3div.alert
和不同的范围($scope.alert1
, $scope.alert2
),但我确信有更好的方法。
此外,在初始加载时,div.alert
会显示然后褪色。我可以在加载时设置警报display: none
,但我正在寻找一种“更清洁”的方式。
英语不是我的母语,所以我可能犯了错误,我很抱歉。谢谢。