открытие модального маршрута в AngularJS с помощью angular-ui-bootstrap
Я пытаюсь сделать то, что по существу ответили здесьНевозможно открыть модальное окно начальной загрузки как маршрут
Все же мое решение просто не будет работать. Я получаю ошибку
Error: [$injector:unpr] Unknown provider: $modalProvider <- $modal
My app has the ui.bootstrap module injected - here is my application config
var app = angular.module('app', ['ui.router', 'ui.bootstrap','ui.bootstrap.tpls', 'app.filters', 'app.services', 'app.directives', 'app.controllers'])
// Gets executed during the provider registrations and configuration phase. Only providers and constants can be
// injected here. This is to prevent accidental instantiation of services before they have been fully configured.
.config(['$stateProvider', '$locationProvider', function ($stateProvider, $locationProvider) {
// UI States, URL Routing & Mapping. For more info see: https://github.com/angular-ui/ui-router
// ------------------------------------------------------------------------------------------------------------
$stateProvider
.state('home', {
url: '/',
templateUrl: '/views/index',
controller: 'HomeCtrl'
})
.state('transactions', {
url: '/transactions',
templateUrl: '/views/transactions',
controller: 'TransactionsCtrl'
})
.state('login', {
url: "/login",
templateUrl: '/views/login',
controller: 'LoginCtrl'
})
.state('otherwise', {
url: '*path',
templateUrl: '/views/404',
controller: 'Error404Ctrl'
});
$locationProvider.html5Mode(true);
}])
Я сократил свой контроллер до следующего:
appControllers.controller('LoginCtrl', ['$scope', '$modal', function($scope, $modal) {
$modal.open({templateUrl:'modal.html'});
}]);
В конечном счете, я надеюсь добиться того, чтобы войти в систему не на самом деле, а на страницу входа, но вызвать диалог.
Я также пытался использоватьonEnter
функция вui-router
государственный метод. Не могу заставить это работать тоже.
Есть идеи?
ОБНОВИТЬ
Хорошо, так получается, что наличие ui-bootstrap.js и ui-bootstrap-tpls нарушает это. После прочтения документации я подумал, что вам нужны шаблоны для работы с ui-bootstrap. хотя кажется, что все плунжеры загружаются только в файл ..tpls - как только я удалил файл ui-bootstrap, мой модал работает ... Я слеп? или разве не сказано, какой из них вам нужен в документации по github? -
Теперь мне нужно выяснить, как предотвратить переход моего URL в / логин, а не просто показывать модал :)
обновление 2
Итак, вызов $ state.go ('login') в сервисе делает это для меня.