角度路由解析返回未定义
Angular route resolve returning undefined
app.js
angular
.module('yelp',['ngRoute'])
.config(config);
config.$inject=['$routeProvider','YelpServiceProvider'];
function config($routeProvider){
$routeProvider
.when('/',{
})
.when('/restaurants',{
templateUrl:'partials/restaurants.html',
controller:'RestaurantsController',
controllerAs:'rstrntsCtrl',
resolve:{
restaurants:getRestaurants
}
});
}
function getRestaurants(YelpService,$route){
YelpService.getRestaurants($route.current.params,function(response){
console.log(response.data.businesses); **//Data printed here**
return response.data.businesses;
});
}
Controller.js
angular
.module('yelp')
.controller('RestaurantsController',RestaurantsController);
RestaurantsController.$inject=['restaurants'];
function RestaurantsController(restaurants){
var rstrntsCtrl=this;
console.log(restaurants); **// got undefined here**
}
Resolve函数进行$http调用以获取数据。然后将其传递给控制器。我可以在解析函数中打印数据,但不能将其传递给控制器(接收到未定义的数据)。有人能指出我哪里出了问题吗
我想你错过了这里的注射:
RestaurantsController.$inject=['restaurants','YelpServiceProvider'];
function RestaurantsController(restaurants,YelpServiceProvider)
您需要在使用者(控制器)中而不是在配置中注入YelpServiceProvider(尽管您也没有完全将其注入到配置中…)
相关文章:
- 这.SOMETHING 总是返回未定义的 - extjs
- React+Meteor:this.ops返回未定义
- 解析-为什么user.getSessionToken()返回未定义的结果
- Javascript函数返回未定义
- JavaScript-获取数据属性的值返回未定义的值
- .val()返回未定义的.text返回随机代码
- 为什么innerHTML返回“未定义”
- "这个“;正在返回未定义的
- 谷歌地图:函数返回未定义的值在console.log中运行良好
- Javascript json返回未定义
- importScripts在web工作程序中返回未定义的
- 访问嵌套 json 对象的属性将返回未定义
- NativeAppEventEmitter返回未定义的
- 我的函数返回“未定义”
- 新手Javascript函数返回未定义的石头剪刀游戏
- Nodejs模块函数返回未定义的,而不是异步的
- .getElementById在.createTextNode中返回未定义
- javascript函数不返回未定义的值
- Typeahead的Javascript类型返回未定义
- Javascript可见元素返回未定义