如何使用ui-route更改主视图

时间:2015-07-19 18:14:30

标签: angularjs angular-ui-router

使用Yeoman,我使用ui-route创建了一个angular-fullstack项目。现在我想知道如何更改login.html的主视图。因此,通常在启动应用程序时,首先会获得可以选择登录或注册的主视图。我想要的是当应用程序启动页面时直接在login.html上启动

通过这篇文章 - > How to change/set the main view using Yeoman with Angular Fullstack,我尝试了以下内容:

.config(function ($stateProvider, $urlRouterProvider, $locationProvider, $httpProvider) {
    $urlRouterProvider
      .otherwise('/');

    $locationProvider.html5Mode(true);
    $httpProvider.interceptors.push('authInterceptor');
    $stateProvider
      .run(function ($state) {
        $state.go('login');
      });
  })

但是当我实现这段代码时,主视图页面就变成了空白,当我浏览http://localhost:900/login时,我得到了一个304

2 个答案:

答案 0 :(得分:1)

您可以登录默认路线:

   $urlRouterProvider
      .otherwise('/login');

答案 1 :(得分:0)

对于那些可能遇到与我相同问题的人。我找到了解决方案。所以基本上我只需要转到main.js并将代码更改为

'use strict';

angular.module('zazzleToolPlannerApp')
  .config(function ($stateProvider) {
    $stateProvider
      .state('main', {
        url: '/login',
        templateUrl: 'app/account/login.html',
        controller: 'MainCtrl'
      });
  });

在文件夹应用的app.js中,您只需更改以下代码

即可
  .config(function ($stateProvider, $urlRouterProvider, $locationProvider, $httpProvider) {
    $urlRouterProvider
      .otherwise('/');

    $locationProvider.html5Mode(true);
    $httpProvider.interceptors.push('authInterceptor');

  })

TO:

  .config(function ($stateProvider, $urlRouterProvider, $locationProvider, $httpProvider) {
    $urlRouterProvider
      .otherwise('/login');

    $locationProvider.html5Mode(true);
    $httpProvider.interceptors.push('authInterceptor');

  })