AngularJS - 如何在窗口大小调整时重复ng-repeat中的行

时间:2017-02-25 15:32:09

标签: javascript angularjs media-queries window-resize

我正在使用this重复来自ng repeat的col- *之后的行。

现在更进一步处理一个额外的代码我想在控制器中处理与function的分裂,但我无法实现这一点......

以下是Plunker demo我所做的事情。我已经评论了$(window).width()这个目前无效的情况。

有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:2)

您不需要使用Angular,jQuery和JavaScript作为整体来设置将在不同分辨率上显示的项目数。这是一个CSS问题 除此之外,您可以在directive中使用Angular中的jQuery,而不是controller。控制器不用于DOM操作,它必须是特定模块的业务逻辑。
Angular有一个内置angular.element(如果jQuery可用),它是jQuery函数的别名。它将原始DOM元素或HTML字符串包装为jQuery元素。如果jQuery不可用,angular.element会委托AngularJS的内置jQuery子集,称为jQuery litejqLite
您可以在Angular here中阅读有关使用jQuery的更多信息。

$window

是Angular服务,它引用浏览器的window对象。您应该将其注入控制器,以便在控制器的功能中使用它。

答案 1 :(得分:1)

您需要使用jquery观看窗口调整大小事件,这是您需要的

$(window).resize(function(){


    $scope.$apply(function(){
       if ($(window).width() >= 990){   
        $scope.teamMembers = $scope.chunk($scope.allMembers, 4);
     } else if ($(window).width() <= 991)  {
        $scope.teamMembers = $scope.chunk($scope.allMembers, 2);
         }
    });
  });

Plnkr