角度方式如何向用戶顯示視覺反饋,以表明appp正在等待來自服務器的答案?angularjs針對服務器請求的視覺反饋
目前,我有工廠,下面的代碼
app.factory('MyAppFact', ['$http', '$q',
function($http, $q) {
function _success(data, status) {
document.body.classList.remove('waitserver')
if (data.status == 'OK') {
this.resolve(data);
} else {
this.reject(data);
}
}
function _error(data, status) {
document.body.classList.remove('waitserver')
this.reject(status})
}
return {
changeLocale: function(locale){
var d = $q.defer();
document.body.classList.add('waitserver');
$http.get('/changeLocale/'+locale).success(_success.bind(d),
_error.bind(d));
return d.promise;
},
login: function(uname, passwd, keep) {
var d = $q.defer();
document.body.classList.add('waitserver');
$http.post('/login', {uname:uname, passwd:passwd, keep:keep}
).success(_success.bind(d), _error.bind(d));
return deferred.promise;
},
register: function(user) {
var d = $q.defer();
document.body.classList.add('waitserver');
$http.post('/register', {user:user}).success(_success.bind(d),
_error.bind(d));
return deferred.promise;
},
...
}
}]);
儘管此代碼的工作,我加入到文檔正文CSS類,而根據angularjs文檔,我不應該改變DOM在工廠方法中,從而違反了MVC的清晰分離。但是我不明白我在這種情況下如何完成分離。
看看http://stackoverflow.com/questions/18743656/angular-ui-grid-how-to-show-a-loader – Whisher