0
我正在使用初始屏幕(initial.html),我希望它充當splashscreen,然後調用inappbrowser。
但是inappbrowser沒有打開。如果我直接放置它就可以。 也沒有錯誤。所需的功能是將閃屏視圖重定向到inappbrowser,用戶將登錄併成功登錄後將被重定向到視圖(單個部件正在工作,但是當我將其放入TimeOut功能中時它不起作用) 。
有沒有更好的方法來實現這個功能。
controller.js
.controller('LoginCtrl', function($scope,$timeout,$rootScope,LoginService, $ionicPopup, $state,$location,$ionicPopup) {
$timeout(function(){
LoginService.loginUser().success(function(data) {
console.log(data);
$location.path('app/playlists');
}).error(function(data) {
var alertPopup = $ionicPopup.alert({
title: 'Login failed!',
template: 'Please check your credentials!'
});
});
}, 3000);
})
services.js
angular.module('starter.services', [])
.service('LoginService', function($q,$rootScope,$cordovaInAppBrowser,$http,$state,jwtHelper,$location) {
return {
loginUser: function() {
var deferred = $q.defer();
var promise = deferred.promise;
console.log("Hi Service"); // IT IS REACHING HERE THEN STUCK
$cordovaInAppBrowser.open(URL, '_self',options).then(function(event){
console.log(event);
// success
})
.catch(function(event) {
console.log(event);
// error
});
$rootScope.$on('$cordovaInAppBrowser:loadstop', function(e, event){
if(userValid){
deferred.resolve(username); }
else{
deferred.reject('Auth Failed');
}
});
//promise created outside
promise.success = function(fn) {
promise.then(fn);
return promise;
}
promise.error = function(fn) {
promise.then(null, fn);
return promise;
}
return promise;
}
});
老實說,我沒有讀過去'setTimeout'。試試'$ timeout'然後回來。 –
你仍然面臨問題還是解決? –
@RaviShankar沒有$超時沒有工作 –