Ui路由器 - 带模态框的嵌套视图

时间:2014-04-29 17:25:14

标签: javascript angularjs twitter-bootstrap angular-ui angular-ui-router

我正在尝试使用Angular ui显示基于url的模式框。 我有三种状态 - 家庭,设置和基于设置状态的模态。

$stateProvider
   .state('home',{
        url:'/',
      views: {
            'content': {
               templateUrl: 'views/partials/content.html',
               controller: 'ContentCtrl'
            }
      })
   .state('home.setting',{
         url:'/setting',
       views:{
           'content@': {
                  templateUrl: '/views/partials/setting.html',
                  controller: 'SettingCtrl'
           }
      })
   .state('home.setting.modal',{
       url:'^/modal',
      onEnter: function($state, $modal, $timeout, $stateParams, $location) {
           if ($stateParams.id === "") {
                return $location.path('/');
           } else {
                $modal.open({
                      templateUrl: 'views/modals/deepResultModal.html',
                      controller: "DeepResultCtrl",

                }).result.then(function() {

                 }, function() {
                     return $location.path('/');
                });
           }
      }   
} 

使用此代码,我不断得到这个

Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.2.16/$injector/modulerr? p0=myapp&p1=Error%3A%….setting.modal'%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A3000%2Fve...<omitted>...e) 

我试过&#34; home.modal&#34; state而不是&#34; home.setting.modal&#34;,但它会删除父状态。

如何在不删除父状态的情况下显示模态框?我遵循了这个answer,我嵌套了像#34; home.setting.modal&#34;但它不起作用。

如果你可以帮助我,那就太好了!先感谢您!

0 个答案:

没有答案