我有一个问题从控制器传递给我的工厂。 这是我的控制器,这是我为整个应用程序工作的方式,但突然这个控制器有问题。
controllers.userCtrl = function($scope, $routeParams, userFactory, productsFactory){
var user = $routeParams.param1;
userFactory.getUserByUserName(user).then(function(data){
$scope.user = data[0];
$scope.userName = data[0].user_name;
console.log($scope.userName); //line 428
})
productsFactory.getOtherUserProducts(1).then(function(data){
console.log($scope.userName); //line 431
$scope.products = data;
})
}
我的工厂
factory.getOtherUserProducts = function(userNameData){
console.log(userNameData); //line 102
return $http.get($location.protocol() + '://' + $location.host() + '/server/api/products/getOtherUserProducts/'+userNameData);
}
控制台输出是:
factory.js:102 undefined
controllers.js:428 treutel.lesley
controllers.js:431 treutel.lesley
为什么论点没有传递给工厂。这是我整个时间构建应用程序的方式..
如果您需要任何其他信息,请告诉我,我会提供。
答案 0 :(得分:0)
稍微改变控制器就可以了。
controllers.userCtrl = function($scope, $routeParams, userFactory, productsFactory){
var user = $routeParams.param1;
userFactory.getUserByUserName(user).then(function(data){
$scope.user = data[0];
productsFactory.getOtherUserProducts(data[0].user_name).then(function(data){
$scope.products = data;
})
})
}