如何从控制器动态更改angularjs中的模板URL?

时间:2015-08-28 10:02:43

标签: javascript angularjs angular-ui-router

从angularJS代码下面我想在namee中获取参数templateUrl,请帮助我生成动态templateurl

sampleApp.config(['$routeProvider',
  function($routeProvider){
    $routeProvider.
    when('/AddNewOrder/:namee', { 
        controller: 'AddOrderController',
        templateUrl:'templates/'+namee +'.html';
    }).
    when('/ShowOrders/:name', {
    templateUrl: 'templates/show_orders.html',
    controller: 'ShowOrdersController'
    }).
    otherwise({
    redirectTo: '/AddNewOrder/add_orders'
  });
}]);

1 个答案:

答案 0 :(得分:0)

您可以将函数作为值传递给templateUrl。函数返回值将是templateUrl的值。函数可以访问url属性。

请注意,通配符网址名称将是您要访问的值。在你的情况下是nameeconsole.log(attrs),如果您想查看attrs的详细信息。

$routeProvider.
when('/AddNewOrder/:namee', { 
   controller: 'AddOrderController',
   templateUrl: function(attrs) {
      return 'templates/'+ attrs.namee +'.html';
   }
})