繁体   English   中英

由于文档的单击事件,angularjs多选下拉列表使页面变得繁重

[英]angularjs multiselect dropdown makes page heavy due to document's click event

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

它具有下面的方法,用于跟踪事件以关闭打开的下拉列表。

 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.js中找到此方法

这种方法使我的angularJS页面很沉重,从而降低了性能。

有什么办法可以替代?

谢谢。

我在多选模块中为模板生成添加了优化,以便下拉列表是延迟生成的,从而显着减少了手表数量。 这样可以加快页面加载和点击事件的行为。

我提交了pull-request ,但是该存储库似乎并不经常维护。 您可以从这里退房

大部分功劳归于gilad

您可以使用角形材质的虚拟/延迟加载功能,那样性能将是最佳的。

<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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM