У меня есть следующая конфигурация в моем AngularJS App:Избегайте прямой доступ к мнению (угловая UI-маршрутизатор) в AngularJS
angular
.module('MyApp')
.config(['$stateProvider', '$urlRouterProvider', '$locationProvider',
function($stateProvider, $urlRouterProvider, $locationProvider) {
$urlRouterProvider.otherwise('start');
$stateProvider
.state('start', {
url : '/start',
templateUrl : 'views/start.html',
controller : 'AppCtrl'
})
.state('quotation', {
url : '/quotation',
templateUrl : 'views/quotation.html',
controller : 'AppCtrl'
})
.state('loading', {
url : '/loading',
templateUrl : 'views/loading.html'
});
}]);
Когда тип пользователя http://example.net «Пуск» вид загружается хорошо http://example.net/#/start, но если пользователь вводит напрямую http://example.net/#/quotation, загружается представление «quotation», и у меня есть некоторые проблемы, потому что вызов от начала до цитирования загружает некоторые значения (через REST API), поэтому .. Если пользователь вводит непосредственно это представление, загруженный не верно.
Как я могу избежать прямого доступа к другим представлениям?
это похоже на реализация, скажем, проверки подлинности. Например: http://stackoverflow.com/questions/22537311/angular-ui-router-login-authentication – akonsu
Вы строите мобильное приложение или веб-приложение? –
Вы можете проверить каждое изменение состояния, если есть какое-либо исключение. Если это так, обработайте его, либо перейдя на стартовую страницу, либо показывая сообщение об ошибке – dchhetri