Я использую угловой пейджер с помощьюКак мне вызвать метод в дочернем контроллере?
<script type="text/javascript" src="Scripts/angular-pager.js"></script>
В MainController, у меня есть PagerController как
<body>
<div ng-app="myapp" ng-controller="mainController">
<div ng-controller="PagerController as vm" data-entities="Bookings"
data-pagesize="10">
</div>
</body>
Этот пейджер контроллер использует HTTP, чтобы заполнить себя, используя информацию в данных-сущностях, как
var app = angular.module("myapp", ["ng"])
.controller("mainController", function ($scope, $http, $filter)
{
/* a lot of code */
})
.factory('PagerService', PagerService)
.controller('PagerController', function (PagerService, $http, $scope, $attrs)
{
var vm = this;
var pageSize = $attrs["pagesize"];
var entities = $attrs["entities"];
vm.update = function()
{
setPage(vm.pager.currentPage);
};
vm.setPage = setPage;
initController();
function initController()
{
setPage(1);
}
function setPage(page)
{
$http.get(entities + "/" + page + "/" + pageSize).success(function (result)
{
var numPages = Math.ceil(result.totalNumItems/pageSize);
vm.pager = PagerService.GetPager(result.totalNumItems, numPages, page);
vm.items = result.items;
});
}
});
Когда я сделал действия в основном контроллере, мне нужно обновить пейджер, потому что данные были изменены как в результате этих действий. Как у меня функция обновления пейджеров, вызванная кодом внутри mainController?
@ Андерс Линден, пожалуйста, проверьте мой ответ. – Sravan
Спасибо за ответ! Я хотел принять оба ваших ответа и использовать генератор случайности, чтобы решить, какой из ответов я должен принять. –
Правда, но мне нравились оба ответа. –