按钮在使用 UI 路由时未触发模式



我正在尝试使用 ui-routing 创建角度模态向导。在我的模态窗口中,我得到了两个嵌套视图,它们应该负责通过 ui-sref 指令在模态窗口内导航。虽然我在应用程序声明中添加了"ui.bootstrap"和"ui.router"模块,但当我单击应该在控制台上打开 enitre 模式的按钮时出现错误:

"转换拒绝(类型:6,消息:转换错误,详细信息:

错误: [$injector:unpr] 未知提供程序: $modalProvider <- $modal"。

应用.js:

/* definition of angularJS application and include modules*/
var app = angular.module('accTrader', [
    'ui.router', 'ui.bootstrap', 'LocalStorageModule', 'duScroll', 'ngTouch'
]);
// routing config
app.config(function ($stateProvider, $urlRouterProvider) {

    $urlRouterProvider.otherwise('/');

        $stateProvider        
        .state("home", {
            url: "/",
            template: '<button class="btn btn-default" ui-sref="modal"> Modal</button>',
            controller: 'MainCtrl'
         })
        .state("aboutus", {
            url: "/aboutus",
            templateUrl: "app/views/aboutus.html" 
         })
        .state("category", {
            url: "/category/gameid/:gameid",
            controller: 'CategoryCtrl',
            templateUrl: 'app/views/category.html'
        }) 
        .state('modal', { // MODAL
            parent: 'home',
            url: '/modal',
            onEnter: ['$modal', '$state', function($modal, $state) {
                console.log('Open modal');
                $modal.open({
                template: '<button class="btn btn-danger" ui-sref="signin"> sign-in </button> <button ui-sref="signout" class="btn btn-success"> sign-out </button> <div ui-view="modal"></div>',
                backdrop: false,
                windowClass: 'right fade'
            }).result.finally(function() {
              $state.go('list');
          });
        }]
      })
      .state('signin', {
        url: '/signin',
        parent: 'modal',
        views: {
          'modal@': {
            template: '<p>sign-in</p>'
            }
          }
      })
      .state('signout', {
        url: '/signout',
        parent: 'modal',
        views: {
          'modal@': {
            template: '<p>sign-out</p>'
            }
          }
      })
}); // END ROUTING CONFIG

索引的主要部分.html:

...
 <body ng-cloak id="top" ng-controller="ExternalCtrl">    
    <div ui-view></div>
    <a href="#top" du-smooth-scroll="">
        <div id="backToTop" class="bottomMenu hide"></div>
    </a>
 ...   

检查您的 UI 引导程序版本。一段时间以来,它一直$uibModal$modal.

它在版本 1.1.0 中更新,提交 8c7b9e4。

如果您使用的是 1.1.0 及更高版本,那么您应该注入$uibModal而不是$modal

最新更新