ui-route不会重定向到外部页面

时间:2015-01-26 16:54:23

标签: angularjs url-redirection angular-ui-router

从模态对话框中,我提供了一个一般条款链接,该链接应将用户重定向到新页面。
我想重新使用我的布局框架(背景,徽标和基本样式)作为术语页面,没有母版页的内容(例如搜索功能,导航等)。

实现我尝试在新窗口中注入用于正常网站内容的 ui-view =" main" 中的术语模板(其中加载了模态对话框的内容,例如),但我收到错误无法解决'条款'来自州' login' (登录是模态对话框所在的当前状态)。

在带有ui-router状态的termsPage模块下面,我想加载:

angular.module('termsPage').config(function ($stateProvider) {
$stateProvider
    .state('terms', {
        url: '/terms',
        views: {
            'main': {
                controller: 'TermsCtrl as Terms',
                templateUrl: '/modules/staticPages/views/termsPage.html'
            }
        }
    });
});

我的index.html文件:

<!-- Other tags excluded for sake of semplicity -->
<body ng-app="myApp">

   <!-- Here I inject all the content -->
   <div id="wrapper" ui-view="main"> 
</div>

在app模块和视图下方,正确加载应用程序的内容。此处还会加载我想要重定向到外部页面的模式对话框。

angular.module('app').config(function($stateProvider){
    $stateProvider
        .state('app', {
            url: '/app',
            views:{
                'main' : {
                    controller : 'AppCtrl',
                    templateUrl: 'modules/app/views/app.html'
                }
            }
        });
});

app.html下方:

<div id="container">
  <div class="browser">
     <div class="content" ui-view="content" style="position:relative;">
  </div>

我的目标是创建app.html的兄弟,在主占位符中注入我的常规术语页面的内容。在模态对话框控制器中,我使用$ state.go进行重定向:

$state.go('terms');

1 个答案:

答案 0 :(得分:0)

在我的情况下,问题是我没有在我的主模块中注册新模块(&#39; termsPage&#39;)作为依赖项:

angular.module(&#39; myApp&#39; ,[&#39;登录&#39;,&#39;表格&#39;,&#39; termsPage& #39; ],函数($ urlRouterProvider){...}

现在该模块已注册,我可以正确导航到状态&#39; 希望上面的案例可以帮助其他人,为他/她的案件提供暗示。