由于文档的点击事件,angularjs multiselect下拉菜单会使页面变得沉重

我已经实现了这个angular度多选下拉菜单。 http://dotansimha.github.io/angularjs-dropdown-multiselect/#/

它有以下的方法,保持跟踪事件closures打开的下拉菜单。

if ($scope.settings.closeOnBlur) { $document.on('click', function (e) { // some code here }); } 

你可以在https://github.com/dotansimha/angularjs-dropdown-multiselect/blob/master/src/angularjs-dropdown-multiselect.jsfind这个方法

这种方法使我的angularJS页面沉重,这沉重的performance恶化。

有什么可以做的替代?

谢谢。

我已经在多选模块中为模板生成添加了一个优化,以便延迟生成下拉菜单,显着减less手表的数量。 这应该会加快页面加载和点击事件的行为。

我提交了一个拉取请求 ,但是存储库似乎并没有经常维护。 您可以从这里退房

大部分的功劳都归功于吉拉德

您可以使用angular度材质虚拟/延迟加载function,这样性能将是最佳的。

 <md-virtual-repeat-container id="vertical-container"> <div md-virtual-repeat="item in ctrl.filterDS" class="repeated-item-vertical" ng-click="ctrl.toggleSelection(item.name,item.id)" flex> <input type="checkbox" value="{{item.name}}" ng-checked="item.selected">{{item.indent}} {{item.name}} </div> </md-virtual-repeat-container> 

请参阅: http : //jsfiddle.net/VBharath/n1r6hwcg/22/

Interesting Posts