2017-02-25 17 views
0

我正在使用this重複col- *之後的行以重複ng。AngularJS - 如何在窗口調整大小重複ng-repeat中的行

我們藉此一步,處理額外的代碼,我想與控制器內$(window).width()處理拆分,但我也無法達到這樣做......

這裏是什麼Plunker demo我已經完成了。我已經評論了if條件,現在不適用。

任何人都可以幫助我嗎?

+0

調度器不工作。至少在我的FF結束。 –

+0

適合我的好友,也嘗試在隱身模式下開放。以防萬一這裏是鏈接https://plnkr.co/edit/5gojtzqdJavkBEQLwSeA確保你運行它 –

+0

嘗試注入$窗口到您的控制器。有用! – Pengyy

回答

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

2

你不需要使用角度,jQuery和JavaScript作爲一個整體設立將以不同分辨率顯示的項目數量。這是一個CSS問題。
除此之外,你可以使用jQuery Angular在directive,而不是在controller。該控制器不用於DOM操作,因爲它必須是特定模塊的業務邏輯。
Angular有一個內置的angular.element(如果jQuery可用),它是jQuery函數的別名。它將原始DOM元素或HTML字符串包裝爲jQuery元素。如果jQuery不可用,angular.element委託給AngularJS內置的jQuery子集,名爲jQuery litejqLite
你可以閱讀更多關於在Angular here中使用jQuery的信息。

$window 

是角服務,參照瀏覽器的window對象。您應該將其注入到控制器中,以便在控制器的功能中使用它。

相關問題