Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 许多AngularUI数据选择器导致页面性能低下_Angularjs_Datepicker_Angular Ui_Angular Ui Bootstrap_Angular Ui Datepicker - Fatal编程技术网

Angularjs 许多AngularUI数据选择器导致页面性能低下

Angularjs 许多AngularUI数据选择器导致页面性能低下,angularjs,datepicker,angular-ui,angular-ui-bootstrap,angular-ui-datepicker,Angularjs,Datepicker,Angular Ui,Angular Ui Bootstrap,Angular Ui Datepicker,我正在使用AngularUI数据采集器。我有几个部分视图,每个视图都有ng重复。我在那里使用AngularUI引导数据采集器,这使得页面加载非常缓慢 我的回答如下: 但我没有什么其他问题。在这种方法中,我们使用单独的ng if从span切换到textbox。但在它们之间切换需要相当长的时间,这使得用户可以看到我们正在玩文本框 ) 我也遵循了这一点: 但我无法集成更改并成功运行日期选择器 这个问题有可靠的解决方案吗? 如果看不到更多,就很难知道发生了什么。我的猜测是,页面上有很多观察者,因此$d

我正在使用AngularUI数据采集器。我有几个部分视图,每个视图都有ng重复。我在那里使用AngularUI引导数据采集器,这使得页面加载非常缓慢

我的回答如下:

但我没有什么其他问题。在这种方法中,我们使用单独的ng if从span切换到textbox。但在它们之间切换需要相当长的时间,这使得用户可以看到我们正在玩文本框 )

我也遵循了这一点:

但我无法集成更改并成功运行日期选择器

这个问题有可靠的解决方案吗?


如果看不到更多,就很难知道发生了什么。我的猜测是,页面上有很多观察者,因此$digest周期需要很长时间。为了保持性能,您应该尽量减少观察者。您提到的PR包含在0.13.1版本的“提交”下。您使用的是哪个版本的库?
   <p class="input-group">
    <span class="form-control" ng-if="!date.opened1">{{date.data1|date:format}}</span>
    <input type="text" class="form-control"
           ng-if="date.opened1" datepicker-popup="{{format}}" ng-model="date.data1"
           is-open="date.opened1"
           datepicker-options="dateOptions"
           close-text="Close"/>
        <span class="input-group-btn">
            <button type="button" class="btn btn-default" ng-click="open($event, date,1)">
                <i class="glyphicon glyphicon-calendar"></i>
            </button>
        </span>
</p>
$scope.open = function($event,date,i) {
    $event.preventDefault();
    $event.stopPropagation();
    date['opened'+i] = !date['opened'+i];
 };