簡體   English   中英

是否有可能使用資源訪問返回的成功承諾中的范圍數據

[英]Is it possible to access scope data in a returned success promise using resource

我已經查找了關於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? 非常感謝您的回復。 謝謝!

也許我不太了解您。 一旦使用了資源,promise應返回可用於填充范圍的對象。

service.save($scope.fruits).$promise.then(function(data) {
     $scope.fruits = data;

    //$scope.fruits now has the data to send to another factory/service 
});

編寫方法“ btn_serveFruits”作為范圍方法,如下所示:

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;
            }
          );
        }
      }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM