2012-11-07 44 views
0

條件:Require.JS +骨幹+ 「康樂福」 模型模式

1)我們有一大堆的遺留代碼,使用下面的模式:

base.js

var Base = function(config) { 
    var that={}; 
    that.doThing1=function(){}; 
    that.doThing2=function(){}; 
    return that; 
} 

孩子.js文件

var Child = function(config) { 
    var that=Base; 
    that.doStuff1=function(){that.doThing1();}; 
    that.doThing2=function(){}; 
    return that; 
} 

2)一個關於這個問題的最重要的事情是,它是遺留代碼,以及大量的它,所以重構所有使用不同的模式是完全現在沒有問題了。

3)我正在嘗試使用require.js作爲當前項目,沿w/backbone,所以有我想要求「基」依賴關係的子類。

這就是我現在所在,但它不工作:

require('Base'), function(Base) { 
    var Child = function(config) { 
     var that=Base; 
     that.doStuff1=function(){that.doThing1();}; 
     that.doThing2=function(){}; 
     return that; 
    } 
    return Child; 
} 

問題(S):

如何建立這種模式,這樣我可以換一個要求()左右它抓住遺留的依賴異步,以便我可以然後需要()子進入骨幹類?

+0

哎呀,最後一個我的意思是: 要求([ '基地'],功能(基地){...回報兒童}); – latkinson

回答

2

好吧,這似乎是這樣做的。扔我的東西是 - 在base.js中注意這個類的名字不在那裏。相反,我將它命名爲require.config()。

base.js

define(function() { 
    return function(config) { 
     var that={}; 
     that.doThing1=function(){}; 
     that.doThing2=function(){}; 
     return that; 
    }; 
}); 

child.js

define(['Base'], function(Base) { 
    return function(config) { 
     var that=Base(config); 
     that.doStuff1=function(){that.doThing1();}; 
     that.doThing2=function(){}; 
     return that; 
    }; 
});