有很多方法可以做到这一点......最简单的方法就是使用$window
,因此您将注入 $window 服务,而这基本上只是注入的全局 $window 。然后你可以注册这些路径window.path = 'whatever.json';
,你会没事的:
window.path = 'some/path.json';
function PhoneListCtrl($scope, $http, $window) {
$http.get($window.path).success(function(data) {
$scope.phones = data;
});
$scope.orderProp = 'age';
}
一种更高级的方法是创建一个包含您注入应用程序的服务的模块,在这种情况下,每个页面都有自己的模块:
//create your module.
angular.module('configData', [])
.factory('pathService', function () {
return {
path: 'some/path.json'
};
});
//then inject it into your app
var app = angular.module('myApp', ['configData']);
app.controller('PhoneListCtrl', function($scope, $http, pathService) {
$http.get(pathService.path).success(function(data) {
$scope.phones = data;
});
$scope.orderProp = 'age';
});
当然,您可以在两者之间做任何事情。我建议采用最易于维护且易于测试的路径。