多个实例与一个具有动态内容的实例

时间:2013-03-24 22:24:48

标签: javascript jquery memory-management kendo-ui

我正在构建一个拥有多个(20多个)不同kendoWindows的Kendo UI应用程序。我想知道如果我在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 );
                }
            }
        }
    };

1 个答案:

答案 0 :(得分:0)

第三个选项将是最好的选项,因为您只有一个要管理的窗口,并且内容作为输入参数提供,这是此方案中的一个很好的解决方案。