有没有办法实现这个控制器,但找到.json找到.html,动态更改此templateUrl

时间:2016-03-25 20:13:53

标签: angularjs ngroute angularjs-ng-route

有没有办法实现这个控制器,而是找到.json找到.html,动态更改这个templateUrl(抱歉我的英文不好):

.when('/news/:itemId',{
        templateUrl: 'this template',
        controller: 'ItemDetailCtrl',
        title: 'Artículo'
      })

.controller('ItemDetailCtrl', ['$scope', '$routeParams', '$http',
  function($scope, $routeParams, $http) {
    $http.get('json/news/' + $routeParams.itemId + '.json').success(function(data) {
      $scope.item = data;
    });
  }]);

1 个答案:

答案 0 :(得分:0)

您可以将templateUrl用作函数。它将参数作为参数,并应返回一个字符串。

.when('/news/:itemId',{
  templateUrl: function(params) {
    //Do some stuff and return templateURL
    return 'json/news/' + params.itemId + '.json'
  },
  controller: 'ItemDetailCtrl',
  title: 'Artículo'
})

我不确定它是否适用于* .json,thoug。

以下是.when的文档:https://docs.angularjs.org/api/ngRoute/provider/ $ routeProvider#when