我想顯示錯誤消息的div,以防登錄表單中的POST請求沒有成功處理(沒有頁面分區重新加載)。Angular如何動態顯示/隱藏div的範圍更改?
我試圖通過這種方式來做到這一點:
模板:
<div class="container">
<form class="form-signin" data-ng-controller="UsersCtrl"
ng-submit="loginUser(credentials)">
<h2 class="form-signin-heading">Please sign in</h2>
<input required type="email" value="[email protected]" class="input-block-level"
placeholder="Email address" id="email"
ng-model="credentials.email">
<input required type="password"
class="input-block-level" value="dwdw" placeholder="Password" id="password"
ng-model="credentials.password">
<label class="checkbox">
<input type="checkbox" value="remember-me"> Remember me
</label>
<button class="btn btn-large btn-primary" type="submit">Sign
in</button>
</form>
</div>
<!-- /container -->
<span ng-show ="$scope.loginDone == true" >
I'm removed when the checkbox is unchecked.
</span>
在用戶控制器和控制方法loginUser的方法我使用這個:
orders.controller('UsersCtrl', function($scope, $http, $rootScope) {
/**
* Login
* @param {String} email
* @param {Password} password (plain text)
* @return {String} access_token
*/
$scope.loginUser = function() {
console.log('Trying to login');
var email = $scope.credentials.email;
var password = $scope.credentials.password;
var requestUrl = $rootScope.apiBaseUrl + "user/login";
var postData = {
"data": {
"email": email,
"password": password
}
};
$http({
method : 'POST',
url : requestUrl,
data: postData
}).success(function(data, status, headers, config) {
console.log('Valid user');
console.log(data);
$scope.loginDone = true;
// this callback will be called asynchronously
// when the response is available
}).error(function(data, status, headers, config) {
console.log('Not Valid user');
// called asynchronously if an error occurs
// or server returns response with an error status.
});
};
當然,我可以使用Jquery,但Angular似乎對此更好。
感謝您的任何建議。
這裏添加您的視圖代碼。 –
明顯錯誤在於你的html,所以請提供你的模板 – Viller
模板更新。 – redrom