2017-08-05 171 views
0

我已经通过许多解决方案和教程,没有找到正确的答案。所以我希望我不作重复,给我们这里一个不错的挑战UI路由器状态。没有通过更改url来设置。 - 角ui路由器

使用

angular

ui router

问题

我有一些国家和那些各州有自己独特的网址。我点击链接(ui-sref)状态和url正确更改。但是当我设置url(例如“localhost:8080/user”)并在我的密钥箱上单击“Enter”。目前的状态改变一些“空状态”没有什么,即使URL设置正确

代码

配置:

'use strict'; 

angular.module('divohon-app').config(function ($stateProvider, $urlRouterProvider, $locationProvider) { 


    $locationProvider.html5Mode({ 
     enabled: true, 
     requireBase: false 
    }); 

    $stateProvider 
     .state("user-home", { 
      url: "user", 
      templateUrl: "/resources/html/template/user-home.html", 
      controller: "UserHome", 
      controllerAs: "uhCtrl" 
     }) 
     .state("admin-home", { 
      url: "admin", 
      templateUrl: "/resources/html/template/admin-home.html", 
      controller: "AdminHome", 
      controllerAs: "ahCtrl" 
     }) 
     .state("login", { 
      url: "login", 
      templateUrl: "/resources/html/template/login.html", 
      controller: "LoginController", 
      controllerAs: "lCtrl" 
     }); 
}); 

感谢您的任何帮助。或参考。

+0

尝试'localhost:8080 /#/ user'加入# – yBrodsky

回答

0

你只需要将每个状态的url属性分别更新为/user,/admin,/login。它应该解决问题。

$stateProvider 
.state("user-home", { 
    url: "/user", 
    templateUrl: "/resources/html/template/user-home.html", 
    controller: "UserHome", 
    controllerAs: "uhCtrl" 
}) 
.state("admin-home", { 
    url: "/admin", 
    templateUrl: "/resources/html/template/admin-home.html", 
    controller: "AdminHome", 
    controllerAs: "ahCtrl" 
}) 
.state("login", { 
    url: "/login", 
    templateUrl: "/resources/html/template/login.html", 
    controller: "LoginController", 
    controllerAs: "lCtrl" 
}); 

以上更改localhost:8080/user应该正确显示视图。