2017-08-05 156 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應該正確顯示視圖。