在我的應用程序中,我想爲div使用自定義滾動條。所以我用ng-scrollbar,它對靜態數據工作正常。但是每當我使用ng-repeat來獲取數據時,它都不起作用。在這方面請幫助我。提前致謝。ng-scrollbar與ng-repeat不兼容
myFile.html
<style>
.scrollme {
max-height: 300px;
}
</style>
<div ng-app="myapp">
<div class="container" ng-controller="myctrl">
<button class="btn btn-info" ng-click="add();">add</button>
<button class="btn btn-warning" ng-click="remove();">remove</button>
<div class="well" >
<div class="scrollme" ng-scrollbar bottom rebuild-on="rebuild:me">
<h1>Scroll me down!</h1>
<p ng-repeat="mi in me">{{mi.name}}</p>
</div>
</div>
</div>
</div>
myCtrl.js
var myapp = angular.module('myapp', ["ngScrollbar"]);
myapp.controller('myctrl', function ($scope) {
$scope.me = [];
for(var i=1;i<=20;i++){
$scope.me.push({"name":i});
}
var a = $scope.me.length;
$scope.add = function(){
$scope.me.push({"name":$scope.me.length+1});
$scope.$broadcast('rebuild:me');
}
$scope.remove = function(){
$scope.me.pop();
}
});
沒有滾動條的工作,一旦你點擊添加按鈕?有兩件事:你可能想要將重建:me事件添加到scope.remove中,因爲當你有一個添加時,告訴滾動條更新,當刪除時也會更新。您可能還想在控制器的末尾添加事件廣播,以便在初始渲染時觸發,而無需單擊add()。可能必須進入$ timeout(fund(){},0)以允許ngRepeat呈現,idk。 – jCuga