2014-09-18 136 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