2016-10-13 20 views
1

データを保存(DB表に挿入)し、保存したデータを親要素(バックグラウンド)に挿入しようとしています。私は、[保存]ボタンをクリックすると、何も起こりませんし、私は、$ scope.hospital」を取得、

しかし

//hospital.jsp 
<img .... ng-click="showDialog($event)" ....> 

//hospitalService.js 
app.factory('Hospital', ['$resource', 
function($resource) { 

    return $resource('http://localhost:8081/angular/rest/hospitals/:id', {/*id: '@id'*/}, { 

     get: {method: 'GET', cache: false, isArray: false}, 
     save: {method: 'POST', cache: false, isArray: false}, 
     update: {method: 'PUT', cache: false, isArray: false} 

    }); 

}]); 

//hospitalController.js 
app.controller('HospitalCtrl', ['$scope', 'Hospital', '$mdDialog', 
function ($scope, Hospital, $mdDialog) { 

$scope.hospitals = []; 

var hospitals = Hospital.query(function() { 
    console.log(hospitals); 

    }); 
... 
$scope.showDialog = function($event) { 

      $mdDialog.show({ 
       controller: DialogController,//HospitalCtrl, 
       controllerAs: 'hospCtrl', 
       targetEvent: $event, 
       clickOutsideToClose: true, 
       templateUrl: 'partials/modals/hospitalEdit.jsp', 
       parent: angular.element(document.body), 
       fullscreen: $scope.customFullscreen, 
       locals : { 
        hospitals : $scope.hospital 
       } 

      }).then(function(answer) { 
       $scope.status = 'You said the information was "' + answer + '".'; 
      }, function() { 
       $scope.status = 'You cancelled the dialog.'; 
      }); 

    }; 

    function DialogController($scope, $mdDialog, hospitals) { 
    ... 

     $scope.save = function(hospital) { 

       $scope.save=function(){ 
        $scope.hospital.$save(function(){ 
         console.log("hospital saved"); 
        }); 
       } 
     }; 
//------------------- 
hospitalEdit.jsp 
<form name="hospitalForm" ng-submit="hospitalForm.$valid && hospCtrl.save(hospital)" > 

... ... 保存$セーブではありません:これは私のコードです。もう一度[保存]ボタンをクリックすると、「関数」エラーが表示されます。

ありがとうございます。

+0

あなたは 'controllerAs'と' $ scope'を混在させています。一つを選択してください – Phil

+0

病院を議論の対象にしていますが、範囲内で探しています。また、 'hospitalForm。$ valid'を' ng-disabled = "hospitalForm。$ invalid"に移動してください。 –

答えて

0

このように変更しました。

<form name="hospitalForm" ng-submit="save(hospital)" > 
... 
<md-button type="submit" class="md-raised md-primary">Save</md-button> 


function DialogController(
... 
$scope.save = function(hospitalData) { 

       $scope.hospital.$save(function(hospitalData){ 
        hospital.push(hospitalData); 
       });       
       $mdDialog.hide(); 
     }; 

ありがとうございました。

関連する問題