Всем доброго времени суток. Установил себе тему написанную в том числе и на AngularJS.
При разборе темы возникли пара вопросов. Вот оригинальный код одного из контроллеров.
(function() {
'use strict';
angular.module('staff.controller', []).controller('StaffCtrl', [
'$scope', '$filter', function($scope, $filter) {
var init;
$scope.stores = [
{
name: 'Nijiya Market',
price: '$$',
sales: 292,
rating: 4.0
}, ... {
name: 'House of Bagels',
price: '$',
sales: 82,
rating: 4.4
}
];
$scope.searchKeywords = '';
$scope.filteredStores = [];
$scope.row = '';
$scope.select = function(page) {
var end, start;
start = (page - 1) * $scope.numPerPage;
end = start + $scope.numPerPage;
return $scope.currentPageStores = $scope.filteredStores.slice(start, end);
};
$scope.onFilterChange = function() {
$scope.select(1);
$scope.currentPage = 1;
return $scope.row = '';
};
$scope.onNumPerPageChange = function() {
$scope.select(1);
return $scope.currentPage = 1;
};
$scope.onOrderChange = function() {
$scope.select(1);
return $scope.currentPage = 1;
};
$scope.search = function() {
$scope.filteredStores = $filter('filter')($scope.stores, $scope.searchKeywords);
return $scope.onFilterChange();
};
$scope.order = function(rowName) {
if ($scope.row === rowName) {
return;
}
$scope.row = rowName;
$scope.filteredStores = $filter('orderBy')($scope.stores, rowName);
return $scope.onOrderChange();
};
$scope.numPerPageOpt = [3, 5, 10, 20];
$scope.numPerPage = $scope.numPerPageOpt[2];
$scope.currentPage = 1;
$scope.currentPageStores = [];
init = function() {
$scope.search();
return $scope.select($scope.currentPage);
};
return init();
}
]);
}).call(this);
Впервые встречаю запись return init(); В котролере. Теоретически понимаю зачем это, и как это. НО вот даже сам себе объяснить не могу. Потому как замена return init() на простой init() без return - все работает так же. Зачем тут return.