因此我從服務器端發現了關於分頁的代碼,除了它對此部分做了什麼以外,我知道所有的東西,我知道控制器正在觀察currentPage,但沒有活動變量,我不知道在冒號後加倍是否意味着什麼。在AngularJS中結尾意味着什麼double意味着
HTML &角控制器:
app.controller("myController", function ($scope, Student) {
\t $scope.studentsPerPage = 5;
\t $scope.currentPage = 0;
\t $scope.range = function() {
\t \t var rangeSize = 5;
\t \t var ret = [];
\t \t var start = $scope.currentPage;
\t \t if (start > $scope.pageCount() - rangeSize) {
\t \t \t start = $scope.pageCount() - rangeSize;
\t \t }
\t \t for (var i=start; i<start + rangeSize; i++) {
\t \t \t ret.push(i);
\t \t }
\t \t return ret;
\t };
\t $scope.$watch("currentPage", function(newValue, oldValue) {
\t \t $scope.pagedStudents = Student.get(newValue*$scope.studentsPerPage, $scope.studentsPerPage);
\t \t $scope.total = Student.total();
\t });
\t $scope.prevPage = function() {
\t \t if ($scope.currentPage > 0) {
\t \t \t $scope.currentPage--;
\t \t }
\t };
\t $scope.prevPageDisabled = function() {
\t \t return $scope.currentPage === 0 ? "disabled" : "";
\t };
\t $scope.nextPage = function() {
\t \t if ($scope.currentPage < $scope.pageCount()) {
\t \t \t $scope.currentPage++;
\t \t }
\t };
\t $scope.nextPageDisabled = function() {
\t \t return $scope.currentPage >= ($scope.pageCount() -1) ? "disabled" : "";
\t };
\t $scope.pageCount = function() {
\t \t return Math.ceil(Student.total()/$scope.studentsPerPage);
\t };
\t $scope.setPage = function(n) {
\t \t $scope.currentPage = n;
\t };
});
<li data-ng-repeat="n in range()" data-ng-class="{active: n == currentPage}" data-ng-click="setPage(n)">
\t \t \t <a href="#">{{n+1}}</a>
</li>
這是整個和唯一的控制器,學生是一個工廠,我這個從HTTP GET取一個文件創建。唯一的一點是我對冒號後的比較感到困惑,無法觀看當前頁面。感謝任何回答的人,我很感激!
有是沒有這樣的語法,如_「雙等於冒號」_,'{active:n == currentPage}'是一個具有'active'屬性的對象字面值,其值是通過評估表達式'n == currentPage' (它應該使用'===',但這是另一個話題)。 –