0

我正在使用 AngularJS 和 Angular Bootstrap 制作一个网络应用程序。我正在使用模式来允许用户选择列表中的许多项目之一。该列表使用 ng-repeat 呈现。

在某些移动平台上,在用户按下启动模式的按钮和模式最终出现之间存在相当长的延迟(3-5 秒)。我不确定等待是由 Angular 在模态显示之前为该模态渲染 DOM 引起的,还是仅仅由模态中的大量内容引起的。可能两者兼而有之。当我删除 ng-repeat 列表时,模态会立即加载。

我需要执行以下操作之一:

(1) 使 Angular 在模态显示后构建 DOM。这并不理想,但至少模式的显示会让用户知道他们的触摸已注册并且正在发生一些事情。

(2) 尽管内容量很大,但使模态显示更快。

关于如何实现其中任何一个的任何想法?

4

1 回答 1

0

模态实例有一个属性rendered,它是一个在呈现模态时被解析的承诺。您可能会延迟将大型数据集分配给模态范围,直到该承诺得到解决。

$uibModal.open({
    controller: function ($uibModalInstance, $scope, data) {
        $uibModalInstance.rendered.then(function () {
            $scope.data = data;
        });
    },
    ...
});

https://angular-ui.github.io/bootstrap/#/modal

但在我看来,模态不应该用于大型内容块。

于 2015-11-27T16:28:22.530 回答