Angular js的模态弹出式调用工厂函数
angular js modal popup call factory function
我试图在我的模态弹出窗口中调用工厂函数,但它给出了错误
这是我的工厂
.factory('PartnerFactory', ['$http', '$rootScope', function ($http, $rootScope) {
var currentPartner;
var partners = [];
var currentClient;
var currentSite
return {
savePartner: function (partnerData) {
console.log("In Save Partner");
console.log(partnerData);
var url = "/api/Partner/CreatePartner";
var dataToPost = { Name: partnerData.Name, Description: partnerData.Description, Address1: partnerData.Address1 }
////$("#spinner").show();
$http.post(url, dataToPost)
.success(function (data) {
})
.error(function (data) {
// return $scope.showInfoOnSubmit = !0, $scope.revert()
})
},
getPartners: function () {
var url = "/api/Partner/GetAllPartners";
return $http.get(url).then(function (response) {
partners = response.data;
$rootScope.$broadcast('handleSharedPartners', partners);
return partners;
})
}
};
}])
模态对话框 .controller("PartnerModalCtrl", ["$scope","$http", "$modalInstance", "items", '$routeParams','PartnerFactory', function ($scope, $http, $modalInstance,$routeParams, PartnerFactory) {
$scope.test = function (partnerData) {
console.log("Test");
console.log(partnerData);
return this.PartnerFactory.currentPartner();
},
$scope.ok = function () { $modalInstance.close(); },
$scope.cancel = function () { $modalInstance.dismiss("cancel") },
$scope.addPartner = function (partnerData) {
console.log(partnerData);
return PartnerFactory.savePartner(partnerData);
};
}])
我得到错误作为addPartner不是一个定义函数
您的工厂和控制器都有问题,已更正并粘贴了以下代码:
工厂: savePartner: function (partnerData) {
console.log("In Save Partner");
console.log(partnerData);
var url = "/api/Partner/CreatePartner";
var dataToPost = { Name: partnerData.Name, Description: partnerData.Description, Address1: partnerData.Address1 }
////$("#spinner").show();
$http.post(url, dataToPost)
.success(function (data) {
//need to return the data from the function
return data;
})
.error(function (data) {
// return $scope.showInfoOnSubmit = !0, $scope.revert()
})
},
getPartners: function () {
var url = "/api/Partner/GetAllPartners";
return $http.get(url).then(function (response) {
partners = response.data;
$rootScope.$broadcast('handleSharedPartners', partners);
return partners;
})
}
};
}])
控制器:
.controller("PartnerModalCtrl", ["$scope","$http", "$modalInstance", "items", '$routeParams','PartnerFactory', function ($scope, $http, $modalInstance,items,$routeParams, PartnerFactory) {
$scope.test = function (partnerData) {
console.log("Test");
console.log(partnerData);
return this.PartnerFactory.currentPartner();
},
$scope.ok = function () { $modalInstance.close(); }
$scope.cancel = function () { $modalInstance.dismiss("cancel") }
$scope.addPartner = function (partnerData) {
console.log(partnerData);
return PartnerFactory.savePartner(partnerData);
};
}])
如果问题仍然存在,请创建一个提琴,以便我们可以查看完整的代码
相关文章:
- 如何使用异步调用更改工厂的变量
- 如何将控制器http调用转换为接受参数的服务/工厂模式
- Jasmine测试工厂函数调用本地函数和另一个函数-获取错误:应该是间谍,但得到了function
- 谷歌日历 api 调用可以在角度工厂内返回承诺吗?
- 我是否需要将工厂调用放在控制器的函数中
- 如何从变量中动态调用工厂方法
- 如何从 AngularJS 中的服务调用工厂
- 使用AngularFire创建用户并调用工厂以显示通知
- 调用工厂方法时出现 Angularjs 错误
- 调用工厂函数会触发错误
- 正在尝试调用工厂方法
- AngularJS -当URL改变时不调用工厂
- 在Angular.js中从指令控制器调用工厂
- AngularJS:在循环中调用工厂方法
- 为什么在angular中调用工厂在加载时发生了3次
- 调用工厂函数一次
- AngularJS:从控制器调用工厂
- 在Angular JS中从decorator内部调用工厂服务
- Angular js:如何同步调用工厂/服务方法
- 如何在 ng-submit 调用工厂函数后更新视图