2013-03-24 112 views
1

我正在構建一個Kendo UI應用程序,它具有幾個(20多個)不同的kendoWindows。我想知道如果性能將成爲一個問題,如果我在DOM負載實例化他們每個人的實例。多個實例與動態內容的一個實例

只有在需要的時候實例化纔會更好,然後在關閉的時候殺掉它。

我正在考慮的第三個選擇是實例化一個kendoWindow,並在打開時更改它的參數和內容。

我想我想知道的是,第一種方法是否會對性能產生影響,以及其他兩種方法之一是否會是更好的主意。

這裏是我的代碼:

// Initialize all the dialogs. 
    function _initializeDialogs(){ 
     // that.dialogs is an object literal filled with jquery objects. 
     var dialogs = that.dialogs; 

     var defaults = { 
      resizable: false, 
      draggable: false, 
      modal: true, 
      visible: false, 
      open: setCenter 
     } 

     // Iterate over the dialogs and initialize each one as kendoWindows. 
     for (dl in dialogs){ 
      // Assign that.dialogs[dl] to a variable. 
      var dialog = dialogs[ dl ]; 

      // If DOM element exists. 
      if(dialog){ 
       // If Dialog jquery element is not already a kendoWindow. 
       if(!dialog.data('kendoWindow')){ 
        // Instantiate the kendoWindows. 
        dialog.kendoWindow(defaults); 
       } 
      } 
     } 
    }; 
+0

呃......你可以看一下控制檯,看看DOM準備好需要多長時間......然後你可以自己辨別它是好還是壞......很難說坐在上面在這裏遍佈全球... – Ohgodwhy 2013-03-24 22:32:14

+0

我想這是一個關於JavaScript中最佳實踐和可伸縮性的問題。 – 2013-03-24 22:59:31

回答

0

第三種選擇將是最好的一個,你只有一個窗口管理和內容作爲輸入參數提供的,這是在這種情況下一個很好的解決方案。