У меня есть приложение, где я реализую навигацию по страницам с помощью ui-routing
. Первая версия приложения выглядит следующим образом:
Страница входа в систему проверяет и проверяет подлинность пользователей и после ее утверждения пользователь перенаправляется на страницу приветствия с помощью одной кнопки - "нажмите, чтобы просмотреть изображения" (изображения, относящиеся к этому конкретному пользователю). После нажатия кнопки кнопка направляет пользователя на страницу, где он может просматривать изображения, относящиеся к этому конкретному пользователю. Я делаю это, вызывая функцию ng-init()
которая посылает вызов REST на бэкэнд без какого-либо жестов пользователя. Эта версия отлично работает.
В текущей версии я понял, что страница приветствия является избыточной и хочет реализовать маршрутизацию непосредственно со страницы входа на страницу загрузки изображений без нажатия кнопки. В этом случае мне пришлось запускать вызов REST на бэкэнд без какой-либо другой страницы. Проблема в том, что НИЧЕГО не появляется. На этот раз функция ng-init()
не срабатывает. Страница, которая появляется после входа в систему, остается пустой, никаких ошибок на консоли, и я просто не понимаю, что не так. Как будто для маршрутизации требуется страница между страницей входа и действиями приложения. Когда я загружаю страницу "загрузка изображения" независимо от страницы входа (используя полный путь, а не относительный путь маршрутизации), он визуализирует изображения. Но когда я просматриваю службу маршрутизации, она перестает работать. Итак, чтобы подвести итог, работает независимая веб-ссылка, но "замаскированная" ссылка на маршрутизацию отсутствует.
Единственное, что я понял, это то, что страница.js, содержащая элементы управления для страницы загрузки изображений, даже не читается, даже если она правильно указана на странице html. вот соответствующие фрагменты кода:
app.js (маршрутизация):
function () {
'use strict';
angular
.module('myApp', ['ngRoute', 'ngCookies'])
.config(config)
.run(run);
config.$inject = ['$routeProvider', '$locationProvider'];
function config($routeProvider, $locationProvider) {
$routeProvider
/*.when('/', {
controller: 'HomeController',
templateUrl: '../loginapp/home/home.view.html',
controllerAs: 'vm'
})*/
.when('/landing', { //welcome page
controller: 'GeneralController',
templateUrl: '../html/landingpage.html',
controllerAs: 'vm'
})
.when('/load', { //image load page
controller: 'HomeController',
templateUrl: '../html/load.html',
controllerAs: 'vm'
})
.........
На странице, которая не работает, не так много можно показать с точки зрения кода. Все просто (и работает, когда не связано с маршрутизатором). Я в основном объявляю контроллер на моей странице html и вызываю через него функцию ng-init()
.
Любые мысли, пожалуйста?
Используете ли вы $ location.path('/landing') в своем контроллере входа?