我是AngularJS
的新手。在我的parentController
我添加了一个div
,其中包含select
,以便从emloyeeList
获取Database
。在childController
中,我正在创建新的Employee
。员工创建后,我希望将此员工发送到parentController
并更新select
代码。
以下是我的尝试。
mainApp.
controller(
"childController",
['$scope', 'EmployeeFactory', 'CommonFactory', 'EmployeeFactory',
function ($scope, EmployeeFactory, CommonFactory, EmployeeFactory) {
$scope.CreateEmployee = function (newEmployee) {
var response = EmployeeFactory.CreateEmployee($scope.newEmployee);
response.success(function (successData) {
alert(JSON.stringify(successData));
$scope.GetEmployeeList = function () {
EmployeeFactory.GetEmployeeList().success(function (data) {
alert("empCreated-------emit");
$scope.$emit('getEmployeeAfterCreate --- emit-----', { getEmployeeAfterCreate: data });
}).error(function (data) {
alert("getEmpAfterCreate ---- emit-----" + data);
});
};
$scope.GetEmployeeList();
});
response.error(function (errorData) {
alert('ERROR-----------' + errorData);
});
};
}]);
mainApp.controller("parentController", ['$scope', 'EmployeeFactory', 'CommonFactory', function ($scope, EmployeeFactory, CommonFactory) {
$scope.employees = {};
$scope.$on('getEmployeeAfterCreate', function (event, args) {
alert("getEmployeeFrom Create ----------- " + JSON.stringify(args.getEmployeeAfterCreate));
$scope.employee = args.getEmployeeAfterCreate;
$scope.employees = {
ID: $scope.employee.ID,
FName: $scope.employee.FName,
LName: $scope.employee.LName,
Qualifications: $scope.employee.Qualifications,
Gender: $scope.employee.Gender,
Phone: $scope.employee.Phone,
Email: $scope.employee.Email,
Address: $scope.employee.Address,
Cities: $scope.employee.Cities
};
});
}]);
此处EmployeeFactory
和CommonFactory
有获取和添加员工的方法。
感谢...
答案 0 :(得分:0)
将来可能更容易发布您的实际查询而不是整个块,但是您的问题是:
您使用名称 UI.node.popupcostTable = $('#popcostTable');
dataSrc=[["NAM","1"],["EMEA","2"]];
UI.node.popupcostTable.DataTable({
"data":dataSrc,
"paging": false,
"info": false,
"ordering": false,
"filter" : false,
"Processing": true,
"destroy": true,
"aoColumnDefs" : [{
"aTargets" : [1], // Column to target
"mRender" : function(data, type, full) {
return FRUtil.currencyFormat(data);
}
}
],
"bAutoWidth": true
});
};
注册发射器,并且您正在聆听getEmployeeAfterCreate --- emit-----
。这些名称需要匹配,否则就无法将两者结合在一起。
简化示例:
getEmployeeAfterCreate