Javascript 爱奥尼亚、科尔多瓦、Phonegap加载消息
我正在使用angular.js的ionic框架开发一个应用程序,我发现我的加载消息在我的内容加载之前就消失了——下面是一些示例代码Javascript 爱奥尼亚、科尔多瓦、Phonegap加载消息,javascript,jquery,angularjs,cordova,Javascript,Jquery,Angularjs,Cordova,我正在使用angular.js的ionic框架开发一个应用程序,我发现我的加载消息在我的内容加载之前就消失了——下面是一些示例代码 $scope.validateUser = function () { var email = this.user.email; var password = this.user.password; if(!email || !password) { $rootScope.notify("Please enter valid
$scope.validateUser = function () {
var email = this.user.email;
var password = this.user.password;
if(!email || !password) {
$rootScope.notify("Please enter valid credentials");
return false;
}
$rootScope.show('Please wait.. Authenticating');
API.signin({
email: email,
password: password
}).success(function (data) {
$rootScope.setToken(email); // create a session kind of thing on the client side
$rootScope.hide();
$window.location.href = ('#/database/list');
}).error(function (error) {
$rootScope.hide();
$rootScope.notify("Invalid Username or password");
});
}
“#数据库/列表”是从RESTful API抓取的,在应用程序中呈现页面之前,验证消息消失
我是否正确地认为应该将$rootScope.hide()移动到$window.location.href行的下方,或者它是更险恶的东西(例如,我收到了$rootScope.hide()贬值的警告,我应该使用$ionicLoading.hide()
我对Angular和应用程序开发(主要是PHP开发)非常陌生,因此非常感谢您的帮助。尽量不要将对象附加到$rootScope,而是使用服务来存储全局可访问的数据。此外,您还需要了解Angular如何使用来解析远程数据调用 基本思想是调用控制器中的函数,该函数反过来调用登录服务来验证用户。4一旦调用,就会发生一些事情
.service('LoginService', function($q, $timeout) {
return {
login: function() {
var defer = $q.defer();
$timeout(function() {
defer.resolve({token: new Date().getTime()});
}, 3000);
// replace timeout function with actual $http call
// the $http call will return a promise equivelant to
// defer.promise;
//$http({
// url: '//myloginurl',
// params: {usr: 'myusr', pwd: 'mypwd'}
//}).success(function(data) {
// // presume data contains json {token: some token}
// defer.resolve(data);
//}).error(function(){
// defer.resolve();
//});
return defer.promise;
}
}
});
尽量不要将对象附加到$rootScope,而是使用服务来存储全局可访问的数据。此外,您还需要了解angular如何使用来解析远程数据调用 基本思想是调用控制器中的函数,该函数反过来调用登录服务来验证用户。4一旦调用,就会发生一些事情
.service('LoginService', function($q, $timeout) {
return {
login: function() {
var defer = $q.defer();
$timeout(function() {
defer.resolve({token: new Date().getTime()});
}, 3000);
// replace timeout function with actual $http call
// the $http call will return a promise equivelant to
// defer.promise;
//$http({
// url: '//myloginurl',
// params: {usr: 'myusr', pwd: 'mypwd'}
//}).success(function(data) {
// // presume data contains json {token: some token}
// defer.resolve(data);
//}).error(function(){
// defer.resolve();
//});
return defer.promise;
}
}
});
.service('LoginService', function($q, $timeout) {
return {
login: function() {
var defer = $q.defer();
$timeout(function() {
defer.resolve({token: new Date().getTime()});
}, 3000);
// replace timeout function with actual $http call
// the $http call will return a promise equivelant to
// defer.promise;
//$http({
// url: '//myloginurl',
// params: {usr: 'myusr', pwd: 'mypwd'}
//}).success(function(data) {
// // presume data contains json {token: some token}
// defer.resolve(data);
//}).error(function(){
// defer.resolve();
//});
return defer.promise;
}
}
});