我写了一个保存数据的工厂,我正在使用两个控制器。我已经将一个请求传递给工厂以获取数据。然后我试图通过另一个页面上的另一个控制器显示该数据。我成功地在一个控制器中检索数据。但是,当我试图通过另一个控制器显示另一个html文件中的数据时,没有任何东西出现。我不确定出了什么问题。
这是获取数据的工厂函数
productDetails.getProductDetails = function(sessionId,product){
console.log("Getting the product details")
var promise = $http({method : "POST",
url : "some_url",
data : {"some_data"}
})
promise.then(function(response){
productDetails.details = response
console.log(productDetails.details)
}, function(err){
console.log("Couldn't get the product details "+err)
})
}
这就是我调用工厂函数来通过一个控制器获取数据的方法
$scope.displayProductDetails = function(product){
var promiseProductDetails = productService.getProductDetails($scope.userSession,product);
window.location = "product-details.html"
}
然后在第二个控制器中我试图控制相同的数据。但没有任何事情发生。
任何帮助都将受到高度赞赏
此致
答案 0 :(得分:0)
您需要从 factory
返回值productDetails.getProductDetails = function(sessionId,product){
console.log("Getting the product details")
var promise = $http({method : "POST",
url : "some_url",
data : {"some_data"}
})
return promise.then(function(response){ // returning the promise
productDetails.details = response
return response // returning the resolved value
}, function(err){
return err
})
}