2017-01-31 90 views
0

,所以我試圖找出路由和現在我能得到它的基本的東西的工作就像www.sdfsfsfs.com/route1AngularJS路由問題

.when("/route1",{ 
    templateUrl: "route1.html" 
}) 

,但我被困在試圖找出如何做類似www.sdfsfsfs.com/route1/jpera 。我能得到它通過創建一個ROUTE1目錄,然後把jpera該目錄內的工作,所以那將是

.when("/route1/jpera",{ 
    templateUrl: "jpera.html" 

}) 

但隨後的URL路徑與/route1得到弄糟,我不知道爲什麼。

+0

你的意思是你想要嵌套路由? – SaiUnique

+0

對於嵌套路由,你需要使用'ui-router'。 –

+0

@SaurabhSharma完全不正確。看到這裏的例子〜https://docs.angularjs.org/api/ngRoute/service/$route#example – Phil

回答

1

在角UI路由器,U可以做到這一點是這樣的:

angular.module('myapp', ["ui.router"]) 
    .config(function($stateProvider, $urlRouterProvider){ 
      $urlRouterProvider.otherwise('/dashboard'); 
.... 
$stateProvider 
    .state('home', { 
     url: '/home', 
     templateUrl: 'dir1/dir2/home.html', 
     controller: 'homeController' 
    }) 
    .state('home.page1', { 
     url: '/page1', 
     templateUrl: 'dir1/dir2/page1.html',   
     controller: 'page1Controller' 
    }) 
... 

function homeController($scope){ 
//do something 
} 

function page1Controller($scope){ 
//do something 
} 

所以,第1頁是家庭的一個子視圖。

另外,如果你想使用部分模板到佈局模板,u可以使用視圖這樣的: -

.state('home', { 
       url: '/home', 
       //templateUrl declared here will not be picked up 
    views: { 
        //main layout template 
        '': { 
         templateUrl: 'dir1/dir2/home.controller.html', 
         controller: 'homeCtrl', 
         controllerAs: 'vm' 
        }, 
        //[email protected] //partial template. 
        '[email protected]': { 
         templateUrl: 'dir1/dir2/page1.controller.html', 
         controller: 'page1Ctrl', 
         controllerAs: 'vm' 
        }, 
        ... 

     } 
}) 

希望這給ü一些指點。