2017-02-09 202 views
2

有没有可能在角度上具有以下路由?
我使用的UI路由器进行路由选择,角版本是1.4 FYI使用ui路由器的AngularJS路由

.state('home', { 
    url: '/:city', 
    controller: 'HomeCtrl', 
    templateUrl: 'templates/home.html' 
}) 

.state('about', { 
    url: '/about', 
    controller: 'AboutCtrl', 
    templateUrl: 'templates/about.html' 
}) 

.state('login', { 
    url: '/login', 
    controller: 'LoginCtrl', 
    templateUrl: 'templates/login.html' 
}) 

当我试图这样的角度考虑都​​和/login家乡并给我"about""login"状态PARAMS有无论如何覆盖这个具有指定的网址?

回答

1

home状态只要定义你的静态路由,这里有一个演示

var app = angular.module('app', ['ui.router']); 
 
app.config(function($stateProvider, $urlRouterProvider) { 
 
    // what's the initial route? for the sake of example, it's `/almaty` 
 
    $urlRouterProvider.otherwise("/almaty"); 
 
    $stateProvider 
 
    .state('about', { 
 
     url: '/about', 
 
     template: '<h1>about</h1>' 
 
    }) 
 
    .state('login', { 
 
     url: '/login', 
 
     template: '<h1>login</h1>' 
 
    }) 
 
    .state('home', { 
 
     url: '/:city', 
 
     controller: function($scope, $stateParams) { 
 
     $scope.stateCity = $stateParams.city 
 
     }, 
 
     template: '<h1>city - {{stateCity}}</h1>' 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<script src="https://unpkg.com/[email protected]/release/angular-ui-router.min.js"></script> 
 

 
<div ng-app="app"> 
 
    <ul> 
 
    <li> 
 
     <a href="#/almaty">city Almaty</a> 
 
    </li> 
 
    <li> 
 
     <a href="#/about">about</a> 
 
    </li> 
 
    <li> 
 
     <a href="#/login">login</a> 
 
    </li> 
 
    </ul> 
 
    <div ui-view></div> 
 
</div>

+0

忘记了UI路由器状态订购:)删除我的答案和上投你 –

+0

三江源的最简单的答案。 :) –