2015-07-21 100 views
3

我有一個按鈕,點擊其中一個MD對話框彈出。這個對話框包含一些相當重的html和javascript,並且在第一次點擊按鈕時,顯示對話框需要大約半秒鐘的時間(我猜測是因爲DOM正在創建,因爲它不會再發生)。有什麼辦法可以避免這種滯後嗎?角度材質MD對話框加載延遲

更新:我已經縮小了需要預編譯模板的問題。如何將已編譯的模板附加到對話框中?這是我的對話框:

$mdDialog.show({ 
    escapeToClose: true, 
    parent: parentEl, 
    targetEvent: $event, 
    templateUrl: "someurl", //This gets a big html file 
    locals: { 
     items: $scope.items 
    }, 
    controller: ["$scope", "$mdDialog", DialogController] 
    }); 

回答

0

你可以使用$ compile預編譯東西。但是,如果您將有問題的源代碼添加到問題中,則可以給出更好的答案。

UPDATE:

看到你的代碼片斷後,它似乎更明智預填你的templateCache,而不是我上面提到的。你可以使用$templateCache.put

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

最好在構建過程中添加這個;使用Grunt或Gulp有非常方便的插件可用。

+1

如何將已編譯的模板附加到mdDialog? –

+0

請加上你有問題的源代碼,所以我們可以給出更好的答案:) – Marco

+0

沒有問題的源代碼,這只是一個導致經濟放緩的大文件。這是一個典型的mdDialog設置,但我更新了這個問題供您參考。 –