ocLazyLoad를 사용하여 state 정의에서 resolve 함수를 사용하여 ui-router 상태의 컨트롤러를로드했습니다.이 컨트롤러 내에서 angular.extend를 사용하여 mainAngular 1 ocLazyLoad - 확장 컨트롤러와 함께 사용
app.controller('employeeDetailsController', function($scope, $controller, $http, $state, $stateParams, $document, employeesService) {
/* EXTEND CHILD CONTROLLERS FOR TABS */
angular.extend(this, $controller('mainDetailsTabController', {$scope: $scope}));
angular.extend(this, $controller('paymentsTabController', {$scope: $scope}));
angular.extend(this, $controller('payrollPeriodTabController', {$scope: $scope}));
angular.extend(this, $controller('personalTabController', {$scope: $scope}));
angular.extend(this, $controller('payeTabController', {$scope: $scope}));
angular.extend(this, $controller('niTabController', {$scope: $scope}));
angular.extend(this, $controller('absencesTabController', {$scope: $scope}));
angular.extend(this, $controller('hrTabController', {$scope: $scope}));
angular.extend(this, $controller('autoEnrolTabController', {$scope: $scope}));
이 어떻게 사업부가/컨트롤러가 활성화되어 사용 탭을 구체화 할 때 이들 각각 만로드되었는지 확인하는 게으른 부하를 사용할 수 있습니다 아래 같은 자식 컨트롤러와 컨트롤러? div에 대한
HTML :
<div id="mainTab" data-ng-controller="mainDetailsTabController as mainTabController" class="tabContent carousel-item employeeDetailsTab">
주 정의 : 그것은 이전 게시물이 있었지만,이 대답하고
.state('employees/employeeDetails', {
url: '/employees/employeeDetails/:id',
templateUrl: 'pages/employees/employeeDetails.html',
params: {
id: null,
icon: null,
iconAlt: null,
title: null,
firstName: null,
lastName: null,
dateOfBirth: null,
niNumber: null,
jobTitle: null,
department: null,
joinDate: null,
leaveDate: null,
email: null,
phonePrimary: null,
phoneSecondary: null,
address: {},
payDetails: {},
employeePayments: []
},
controller: 'employeeDetailsController',
resolve: {
lazyLoad: function($ocLazyLoad) {
return $ocLazyLoad.load('js/controllers/employees/employeeDetails/employeeDetailsController.js');
}
}
})