Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $routeProvider和resolve:更复杂的工厂作为字符串传递_Javascript_Angularjs_Angular Routing - Fatal编程技术网

Javascript $routeProvider和resolve:更复杂的工厂作为字符串传递

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

请查收

我正在做的是我有以下AngularJS模块:

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();
}]}