无法使用Angular UI Router显示状态页面

时间:2015-04-21 02:29:05

标签: javascript angularjs angular-ui-router

我是AngularJS的初学者,使用Angular UI路由器时遇到问题。

的index.html

<body ng-app="app" ng-controller="AppController" layout="column">
        <ui-view></ui-view>
</body>

的login.html

<h1>Login page content</h1>

在我的$ stateprovider中......

.config(function($stateProvider, $urlRouterProvider,$locationProvider) {
    $stateProvider
    .state('app', {
        url: "/app",
        abstract: true,
        templateUrl: "views/app.html",
        controller: "AppController"
    }).state('app.login', {
        url: "/login",
        templateUrl: "views/login.html",
        controller: "LoginController"
    });

    $urlRouterProvider.otherwise('/login');
})

无法显示 login.html 页面的内容。但是当我将状态从app.login更改为login时。它可以显示。我现在该怎么办?

1 个答案:

答案 0 :(得分:0)

出于好奇,你可以试试:

$urlRouterProvider.otherwise('/app/login');

在某些示例中,我看到以该格式路由的抽象嵌套类, 虽然我没有时间在jsfiddle中测试它。

编辑:

也许如果您尝试将基本网址设置为&#34; /&#34; ?

.config(function($stateProvider, $urlRouterProvider,$locationProvider) {
    $stateProvider
    .state('app', {
        url: "/",
        abstract: true,
        templateUrl: "views/app.html",
        controller: "AppController"
    }).state('app.login', {
        url: "/login",
        templateUrl: "views/login.html",
        controller: "LoginController"
    });

    $urlRouterProvider.otherwise('/login');
})