如何在Angularjs中重定向到新状态?

时间:2017-04-12 04:10:07

标签: javascript angularjs angular-ui-router

您好我正在Angularjs开发SPA应用程序。这是我在Angularjs的第一个应用程序。我有两个母版页。在第一个母版页中,有一个选项卡,当我单击该选项卡时,我想重定向到另一个母版页。我在Angularjs中使用UI路由。我完成了登录和注册模块,但这些模块应该在第二个母版页中,但我现在在第一个母版页中。

下面是我的index.html第一个母版页文件。

<ul id="nav">
  <li><a ui-sref="Registration.mainRegistration">{{ 'Registration' | translate }}</a></li>
  <li><a ui-sref="Registration.Login">Login</a></li>
  <li><a href="#">{{ 'Careers' | translate }}</a> </li>
  <li><a href="#">{{ 'Offers & Deals' | translate }}</a> </li>
  <li><a href="#">{{ 'Financial' | translate }}</a> </li>

这是第一页加载。上面的文件中有一个Financial选项卡。当我点击该选项卡时,我上面的所有母版页都会消失,并且在该位置会出现新的母版页。 以下是我的App.js

 var app = angular.module('RoslpApp', ['pascalprecht.translate', 'ui.router', 'toastr']);
   app.config(function ($stateProvider,
                        $urlRouterProvider, 
                        $translateProvider, 
                        $translatePartialLoaderProvider) {

     $stateProvider
       .state('Registration', {
       abstract: true,
       url: '/Registration',
       templateUrl: 'Registration/placeholder.html',
       controller: 'MainRegistration'
     });
    //there are other states also.

我正处于发展的初级阶段。所以我可以知道这可以实现吗?任何帮助,将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

您的州不应包含 abstract:true 。当您需要父视图并创建嵌套视图时,通常会创建抽象状态。

System.out.printf("Mod is : %0256x%n" , kspec.getModulus());

请参阅ui-sref中的状态,如下所示:

var app = angular.module('RoslpApp', ['pascalprecht.translate', 'ui.router', 'toastr']);
   app.config(function ($stateProvider, $urlRouterProvider, $translateProvider, $translatePartialLoaderProvider) {

     $stateProvider
        .state('registration', {
         url: '/registration',
         templateUrl: 'Registration/registration.html',
         controller: 'RegistrationController'
        })
        .state('login', {
         url: '/login',
         templateUrl: 'Registration/login.html',
         controller: 'LoginController'
        });

在注册文件夹下创建registration.html和login.html。创建控制器文件RegistrationController和LoginController