Я вручную загружаю свое приложение, чтобы я мог выполнить проверку сеанса cookie на сервере, а затем продолжать только перезагрузку, если у пользователя есть действительный сеанс.Как вручную загрузочное приложение ссылается на модуль в отдельном файле
Код:
angular.module('ppMobi', [])
.controller('firstCtrl', function ($scope) {
$scope.loggedIn = true;
$scope.foo = "Session Valid";
});
angular.element(document).ready(function() {
var initInjector = angular.injector(["ng"]);
var $http = initInjector.get("$http");
//This will return a promise on success or failure and provided user has a valid session we can then take them to the app
//that is manually bootstrap our app.
return $http.get("/session/GetSession.json").then(function (response) {
if (response.data.success) {
console.log("Session found!");
angular.bootstrap(document, ["ppMobi"]);
} else {
window.location = "/login.html";
}
}, function (errorResponse) {
console.error("Session not found!");
});
});
Это работает, как ожидалось, но сейчас я хотел бы, чтобы переместить модуль \ определение контроллера в отдельный файл.
Я попытался это уже и добавил скрипт включают в файл только после того, как основные Lib включают, так что теперь у меня есть:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.11/angular.min.js">
</script>
<script src="app/app.js"></script>
<script type="text/javascript">
angular.element(document).ready(function() {
var initInjector = angular.injector(["ng"]);
var $http = initInjector.get("$http");
//This will return a promise on success or failure and provided user has a valid session we can then take them to the app
//that is manually bootstrap our app.
return $http.get("/session/GetSession.json").then(function (response) {
if (response.data.success) {
console.log("Session found!");
angular.bootstrap(document, ["ppMobi"]);
} else {
window.location = "/login.html";
}
}, function (errorResponse) {
console.error("Session not found!");
});
});
</script>
приложение/app.js
angular.module('ppMobi', [])
.controller('firstCtrl', function ($scope) {
$scope.loggedIn = true;
$scope.foo = "Session Valid";
});
Но кажется, что готовый обработчик на документе уже не пойман, поскольку не делается никаких $ http, так что я явно что-то сломал (без ошибок в консоли)
Подходит ли мой подход к восприятию е? - пожалуйста, порекомендуйте! Благодаря