2013-03-24 110 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

第三种选择将是最好的一个,你只有一个窗口管理和内容作为输入参数提供的,这是在这种情况下一个很好的解决方案。