ocLazyLoadを使用して状態定義の解決関数を使用してui-router状態のコントローラをロードしました。このコントローラでは、angular.extendを使用してメインを拡張しました以下のような子コントローラとコントローラ:角度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要素は、/コントローラを使用してタブをマテリアライズするときこれらのそれぞれが唯一ロードされていることを確認するために、遅延ロードを使用することができますがアクティブになって? 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');
}
}
})