У меня есть служба проверки подлинности пользователя для перенаправления на логин или зарегистрированную область.Угловое обслуживание не инициализируется
services.js:
var servicesModule = angular.module('servicesModule', []);
servicesModule.service('loginService', ['$state', function($state){
console.log('Inside');
var ref = new Firebase("https://feedback-system.firebaseio.com/");
var authData = ref.getAuth();
console.log('Inside');
if (authData) {
$state.go('tabs.courses');
console.log("User " + authData.uid + " is logged in with " + authData.provider);
} else {
$state.go('login');
}
}]);
Контроллер:
var ionicApp = angular.module('feedback-system', ['ionic', 'firebase', 'servicesModule', 'coursesModule', 'feedbackModule', 'loginModule', 'tabsModule']);
ionicApp.run(function($ionicPlatform, $state) {
$ionicPlatform.ready(function() {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if(window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if(window.StatusBar) {
StatusBar.styleDefault();
}
});
});
ionicApp.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('login', {
url: '/login',
templateUrl: 'views/login.html',
controller: 'loginCtrl'
})
.state('tabs', {
url: '/tabs',
abstract: true,
templateUrl: 'views/main.html',
controller: 'tabsCtrl'
})
.state('tabs.courses', {
url: '/courses',
views:{
'coursesView':{
templateUrl: 'views/courses.html',
controller: 'coursesCtrl'
}
}
})
.state('tabs.feedback', {
url: '/feedback',
views:{
'feedbackView':{
templateUrl: 'views/feedback.html',
controller: 'feedbackCtrl'
}
}
})
.state('tabs.notifications', {
url: '/notifications',
views:{
'notificationsView':{
templateUrl: 'views/notification.html',
controller: 'notificationCtrl'
}
}
});
$urlRouterProvider.otherwise("/courses");
});
index.html:
<!DOCTYPE html>
<html ng-app="feedback-system">
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<title></title>
<link href="lib/ionic/css/ionic.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above
<link href="css/ionic.app.css" rel="stylesheet">
-->
<!-- ionic/angularjs js -->
<script src="lib/ionic/js/ionic.bundle.js"></script>
<!-- cordova script (this will be a 404 during development) -->
<script src="lib/ngcordova/dist/ng-cordova.js"></script>
<script src="cordova.js"></script>
<!-- Firebase -->
<script src="https://cdn.firebase.com/js/client/2.2.7/firebase.js"></script>
<script src="lib/angularfire.min.js"></script>
<!-- Services -->
<script src="js/services/services.js"></script>
<!-- Controllers -->
<script src="js/controllers/loginCtrl.js"></script>
<script src="js/controllers/coursesCtrl.js"></script>
<script src="js/controllers/feedbackCtrl.js"></script>
<script src="js/controllers/tabsCtrl.js"></script>
<!-- Application -->
<script src="js/app.js"></script>
</head>
<body>
<ion-nav-view></ion-nav-view>
</body>
</html>
Я впрыскиванием в app.js основного модуля и index.html, ошибки вообще нет, но ничего не происходит, ничего не записывая в консоли. Любая идея, почему этот servies.js не выполняется?
Update:
К сожалению я забыл упомянуть, что эта служба работала, как именно он теперь без возврата раньше, он просто перестал работать сегодня.
я не добавить контроллер, поскольку его немного долго и не думали, что WUD необходимо с, что, так как сервис Шуд просто выполнить по крайней мере один раз, когда запускается приложение, я буду попробовать решение u предложил, но моя точка была даже первой линией console.log не запускается, поэтому означает, что сервис просто не отображается. –
Конечно, попробуйте ввести «$ firebaseAuth» и «$ firebase», как указано выше. О, я не понял одной фундаментальной вещи, вам нужно вернуть что-то из службы, это цель и дизайн в целом! Я должен изменить свой ответ –
. Целью службы является выполнение чего-либо перед тем, как вы перейдете к вашему представлению, и одним из способов использования этого является получение некоторых данных, готовых для использования контроллером. Я успешно запускаю эту службу до того, как она сейчас появилась, она просто перестала работать сегодня. –