我正在试图找出以下代码产生未知提供程序错误的原因“geonameProvider< - geoname< - country”
NSPopover
我见过一些代码,其中几乎相同的代码作为工作示例给出。像这个其他stackoverflow帖子(Angular JS resolve in a resolve)。 这篇文章(https://medium.com/opinionated-angularjs/advanced-routing-and-resolves-a2fcbf874a1c)。
为什么不开采工作?
答案 0 :(得分:0)
我相信它是因为你使用的是ngRoute(AngularJS中的原生路由模块)而不是ui-routeur(文章中提到的模块)
尝试使用ui-router,它应该是:
.state('countries', {
url: "/countries/:country/capital",
templateUrl: 'countries/country.html',
controller: 'countryDetailCtrl',
resolve: {
geoname: ['$route', 'getGeoname', function($route, getGeoname) {
return getGeoname($route.current.params.country);
}],
country: ['getCountry', 'geoname', function(getCountry, geoname) {
return getCountry(geoname.countryCode);
}],
neighbors: ['$route', 'getNeighbors', function($route, getNeighbors) {
return getNeighbors($route.current.params.country);
}]
})
});
并将其作为依赖注入:
var cacRouteViewMod = angular.module('cacRouteViewMod', ['ui-router', 'cacLib']);