Javascript $routeProvider和resolve:更复杂的工厂作为字符串传递
请查收 我正在做的是我有以下AngularJS模块:Javascript $routeProvider和resolve:更复杂的工厂作为字符串传递,javascript,angularjs,angular-routing,Javascript,Angularjs,Angular Routing,请查收 我正在做的是我有以下AngularJS模块: var synergy_module = angular.module('synergy', ['ngRoute']) .config(function($provide, $routeProvider, $httpProvider) { $routeProvider.when('/', { template: '<div>{{here}}</div>', controller: S
var synergy_module = angular.module('synergy', ['ngRoute'])
.config(function($provide, $routeProvider, $httpProvider) {
$routeProvider.when('/', {
template: '<div>{{here}}</div>',
controller: SpecificationCtrl,
resolve: {
w: "myFct"
}
});
$routeProvider.otherwise({
redirectTo: '/'
});
});
synergy_module.factory("myFct", ["$http",
function($http) {
return $http.get("http://api.openweathermap.org/data/2.5/weather?q=London,uk");
}
]).factory("my.Fct", ["$http",
function($http) {
var o = {
getWeather: function() {
return $http.get("http://api.openweathermap.org/data/2.5/weather?q=London,uk");
}
}
return o;
}
])
function SpecificationCtrl($scope, w) {
$scope.here = w.data;
}
但它更多的是代码,使用字符串对我来说似乎更可读 为什么不使用函数而不是字符串呢?谢谢您的回复。我想使用字符串,因为它可读性更好,使用它所需的代码更少。
resolve: {w: ["my.Fct",function (myFct) {
return myFct.getWeather();
}]}