abrir um modal em uma rota no AngularJS com angular-ui-bootstrap

Eu estou tentando fazer o que foi essencialmente respondido aquiNão foi possível abrir a janela modal de autoinicialização como uma rota

No entanto, minha solução simplesmente não funcionará. Eu recebo um erro

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);

    }])

Reduzi meu controlador para o seguinte:

appControllers.controller('LoginCtrl', ['$scope', '$modal', function($scope, $modal) {
    $modal.open({templateUrl:'modal.html'});
}]);

Em última análise, o que espero conseguir é que, quando o login for necessário, não vá realmente para a página de login, mas abra um diálogo.

Eu também tentei usar oonEnter função noui-router método de estado. Não foi possível fazer isso funcionar também.

Alguma ideia?

ATUALIZAR

Ok - pelo que parece, ter ui-bootstrap.js e ui-bootstrap-tpls quebra isso - Depois de ler os documentos, pensei que você precisava dos modelos para trabalhar com o ui-bootstrap. embora pareça que todos os plunkers carregam apenas no arquivo ..tpls - depois que eu removi o arquivo ui-bootstrap, meu modal funciona ... Estou cego? ou realmente não diz qual você precisa nos documentos no github? -

Agora eu só preciso descobrir como impedir que meu URL vá para / login, em vez de apenas mostrar o modal :)

atualização 2

Ok, então, chamando $ state.go ('login') em um serviço faz isso por mim.

questionAnswers(4)

yourAnswerToTheQuestion