2014-09-18 109 views
1

我試圖建立與模板通配符或動態路由,例如:AngularJS動態路由和模板

/page/test將解決page/test.tpl.html

模板我有以下的,我已經嘗試了一些變體追加.tpl.html,但它似乎並不正確。有什麼建議麼?

謝謝!

angular.module('page', []).config(['$routeProvider', function ($routeProvider) { 

    $routeProvider.when('/page/:route', { 
     templateUrl: function($routeParams) { 
     return $routeParams; 
     }, 
     controller: 'PageController' 
    }); 

    }]) 
    .controller('PageController', ['$scope', 
    function ($scope) { 

    }]); 

回答

1

您可以通過$ routeprovider.route訪問路線的動態值。嘗試下面,

$routeProvider.when('/page/:route', { 
      templateUrl: function($routeParams) { 
      return '/page/'+$routeParams.route+'.tpl.html'; 
      }, 
      controller: 'PageController' 
     }); 
+0

這應該工作,但還需要模塊ngRoute,大衛李宋在他回答說。 – enguerranws 2014-09-18 16:02:18

+0

如果你可以給你的答案提供一些解釋,這將有所幫助 – Huangism 2014-09-18 16:20:20

+0

是的,這個工作很完美,在我之前的測試中我沒有'.route'。 'ngRoute'我在另一個模塊中繼承了這個,所以都很好。 – dzm 2014-09-18 16:24:23

0

您在模塊定​​義中缺少'ngRoute'。我還會檢查你的index.html,看看你是否加載了angular-route.js模塊。

angular.module('page', ['ngRoute']).config(['$routeProvider', function ($routeProvider) { 

參見:ngRoute