0
我是AngularJS
的新手。在我的parentController
中,我添加了一个div
,其中包含select
以从Database
获得emloyeeList
。并在childController
,我正在创建新的Employee
。员工创建后,我想将此员工排到parentController
并更新select
标记。如何更新父控制器中的选择标签从AngularJS的子控制器发出
下面是我试过的。
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
是有方法来获取和增加雇员。 谢谢...
你'getEmployeeAfterCreate --- EMIT -----'你的名字发射器的定义,你在'getEmployeeAfterCreate听'。 –