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

时间:2015-07-21 09:56:30

标签: angularjs angularjs-material

我点击了一个按钮,弹出一个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]
    });

1 个答案:

答案 0 :(得分:0)

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

<强>更新

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

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

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