簡體   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