我在stackoverflow上查找了所有相关问题,但没有找到任何相关答案。也许是房间里只有我看不到的大象,但是一整天都在浪费了一整天之后,我真的很高兴有人能提供一些见识。我有一个带有示波器变量$ scope.fruits的控制器,该fruits使用资源将数据发布到/水果(人为示例(
.controller('FruitsController', ['$scope', 'addFruitsFactory', 'sliceFruitsFactory', function($scope, addFruitsFactory, sliceFruitsFactory) {
$scope.fruits = {
seasonal: "",
imported: "",
exported: ""
}
btn_serveFruits = function() {
// user selects a list of fruits from a select control in html.
// $scope.fruits is successfully bound to this select
// $scope.fruits has a list of selected fruits
addFruitsFactory.save($scope.fruits).$promise.then(
function(response) {
console.log('fruits in scope ' + $scope.fruis);
// $scope.fruits is empty here. Is it possible to access
// $scope data here so it can be passed to the next factory?
sliceFruitsFactory.slice($scope.fruits);
},
function(response) {
$scope.message = "Error : " + response.status + " " + response.statusText;
}
);
}
}
是否可以访问$ scope.fruits在资源返回的成功承诺中?非常感谢您的回应。谢谢!
也许我无法正确理解您。使用资源后,承诺应返回可以用来填充范围的对象。
service.save($scope.fruits).$promise.then(function(data) {
$scope.fruits = data;
//$scope.fruits now has the data to send to another factory/service
});
将方法'btn_serverfruits'作为范围方法如下:
app.controller('FruitsController', ['$scope', 'addFruitsFactory', 'sliceFruitsFactory', function($scope, addFruitsFactory, sliceFruitsFactory) {
$scope.fruits = {
seasonal: "",
imported: "",
exported: ""
}
$scope.btn_serveFruits = function() {
// user selects a list of fruits from a select control in html.
// $scope.fruits is successfully bound to this select
// $scope.fruits has a list of selected fruits
addFruitsFactory.save($scope.fruits).$promise.then(
function(response) {
console.log('fruits in scope ' + $scope.fruis);
// $scope.fruits is empty here. Is it possible to access
// $scope data here so it can be passed to the next factory?
sliceFruitsFactory.slice($scope.fruits);
},
function(response) {
$scope.message = "Error : " + response.status + " " + response.statusText;
}
);
}
}