gpt4 book ai didi

javascript - Angular Material 对话框表单用 $resource 保存

转载 作者:行者123 更新时间:2023-11-28 05:27:20 25 4
gpt4 key购买 nike

我正在尝试保存表单( Angular Material 对话框)数据,保存(插入数据库表)并将保存的数据注入(inject)父元素(背景)。这是我的代码:

//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.$save 不是函数”错误。

提前致谢,

最佳答案

我这样改了,效果很好。

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

感谢您的帮助。

关于javascript - Angular Material 对话框表单用 $resource 保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40032331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com