角度材料md-对话框加载延迟

问题描述 投票:3回答:1

我点击了一个按钮,弹出一个md对话框。这个对话框包含一些相当重的html和javascript,第一次单击按钮时,显示对话框大约需要半秒钟(我猜是因为正在创建DOM,因为它不会再次发生)。有什么方法可以避免这种滞后吗?

更新:我已经将问题缩小到需要预编译模板的问题。如何将编译的模板附加到对话框?这是我的对话框:

$mdDialog.show({
    escapeToClose: true,
    parent: parentEl,
    targetEvent: $event,
    templateUrl: "someurl", //This gets a big html file
    locals: {
        items: $scope.items
    },
    controller: ["$scope", "$mdDialog", DialogController]
    });
angularjs angularjs-material
1个回答
0
投票

您可以使用$ compile来预编译。但是,如果您将有问题的源代码添加到问题中,则可以给出更好的答案。

更新:

看到你的代码片段后,预先填充你的templateCache似乎更明智,而不是我上面提到的。你可以使用$templateCache.put

$templateCache.put('mytemplate.html', '<b>My</b> template');

最好在构建过程中添加它;使用Grunt或Gulp有非常方便的插件可用。

© www.soinside.com 2019 - 2024. All rights reserved.