在AngularJS中结尾意味着什么double意味着
因此我从服务器端发现了关于分页的代码,除了它对此部分做了什么以外,我知道所有的东西,我知道控制器正在观察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取一个文件创建。唯一的一点是我对冒号后的比较感到困惑,无法观看当前页面。感谢任何回答的人,我很感激!
您正在寻找ngClass
。
评价的结果可以是代表空间分隔的类名的字符串,数组或类名的地图上,以布尔值。在地图的情况下,值为truthy的属性的名称将作为css类添加到元素中。
data-ng-class="{active: n == currentPage}"
这样做是类active
添加到元素如果表达式n == currentPage
是truthy。您可以添加更多类别表达对
data-ng-class="{active: n == currentPage, hidden: n == 0, answer: n == 42}"
我假设您对您的绑定感到困惑data-ng-class="{active: n == currentPage}"
?如果是这样,n
是循环中的当前索引,并且绑定是在设置活动类,如果n
等于您的currentPage
变量。
它用于同步n
与currentPage
。这里有一个故障:
data-ng-repeat="n in range()"
:让我循环通过range()
中的值。对于每次迭代,我将用于指定当前循环值的变量将为n
data-ng-class="{active: n == currentPage}"
:现在我想知道哪个是活动循环值。所以我可以使用n
和同步currentPage
!与此同时。我也将使用active
类被应用到n
当前循环值,为什么你会想保持这个的原因是因为傻冒然后在你的控制器引用currentPage
有是没有这样的语法,如_“双等于冒号”_,'{active:n == currentPage}'是一个具有'active'属性的对象字面值,其值是通过评估表达式'n == currentPage' (它应该使用'===',但这是另一个话题)。 –