I got one controller CounterpartyCtrl that is used by two views.
The first view contains a selector which requires all the records from collection. So I fetch all the objects and put them into $scope.counterparties.
app.controller('CounterpartyCtrl', [
'$scope', 'Counterparty', function($scope, Counterparty) {},
$scope.counterparties = {},
$scope.loadCounterparties = function() {
Counterparty.query(function(response) {});
$scope.counterparties = response;
},
$scope.loadCounterparties();
]);
The second view has to contain only counterparties divided by groups.
$scope.customers
$scope.vendors
$scope.others
$scope.HRs
So, using the same controller I fetch them like the following
app.controller('CounterpartyCtrl', [
'$scope', 'Counterparty', function($scope, Counterparty) {},
$scope.counterparties = {},
$scope.loadCounterparties = function() {
Counterparty.query(function(response) {});
$scope.counterparties = response;
$scope.customers = Counterparty.query({
group: 'Customer'
});
$scope.vendors = Counterparty.query({
group: 'Vendor'
});
$scope.others = Counterparty.query({
group: 'Other'
});
$scope.HRs = Counterparty.query({
group: 'HR'
});
},
$scope.loadCounterparties();
]);
As you can see here is obvious duplication of requests. On every view I make equal requests and therefore that is not productive. How can I refactor the code?