2013-08-28 63 views
0

我正在使用requireJS作为我的web应用程序,并且我难以理解如何使用requireJS来构建同一对象的递归映射。例如,我的对象是所谓的“部分”,我想创建下面的每个使用相同对象的孩子:使用RequireJS递归映射

Section 
    > Section 
    > Section 
     > (etc...) 

这里是section.js的内容:

define(['jquery'], function($) { 
    children = []; 

    function init() { 
    require(['jquery', 'section'], function($, section) { 
     children.push(section.init(mediator, this)); 
    }); 

    return children; 
    } 

    return { 
    init: init 
    } 
} 

这有导致了一个自我引用的混乱。我不知道如何为新的子节创建节的新实例。

回答

0

这可能是不需要改变RequireJS部件就可以完成的。创建自我引用的想法是否类似于window.self

function Section() { 
    this.children = []; 
} 
var section = new Section(); 
section.children.push(section); 

如果每个部分有一个孩子是一个新的章节,除非它是按需生成,代码将无限循环科后构建部件。