1
我想保存表格(角材料對話框)數據,保存(插入到數據庫表)並將保存的數據注入父元素(背景)。這是我的代碼:
//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)" >
... ... 保存
但是,如果我點擊保存按鈕,沒有任何反應,我得到「$ scope.hospital $保存不是。功能「錯誤時,我再次單擊保存按鈕。
在此先感謝,
你在''scope'中混合'controllerAs'。選擇一個 – Phil
您將您的醫院作爲參數發送,但在範圍內查找。還要將'hospitalForm。$ valid'移動到'ng-disabled =「hospitalForm。$ invalid」'爲該按鈕。 –