2011-05-09 45 views
1

我更新從Ext3.3我的項目到ext4
我已經加入了ext3-core-compat.jsext3-compat.js文件後添加新的ext4文件ext-all-debug.js? 。錯誤升級 - '成員在兼容模式udefined」

我上EXT-全debug.js的3262線得到一個members is udefined error
哪個是接受3個參數的方法Ext.extend內:

Ext.extend = function(subclass, superclass, members) 

我可以從ExtJs4見文件t帽子Ext.extend已被棄用,但我只想讓我的代碼工作,然後再將我的所有Ext.extend更改爲Ext.define

任何幫助傢伙?

回答

2

我假設你使用匿名構造函數的語法,像這樣?

MyClass = function(config) { 
    ... 
} 
Ext.extend(MyClass, SomeOtherClass, { 
    ... 
}); 

如果是這樣,這種形式不能被的Ext4或compat的層檢測,並且必須手動更新爲新的標準Ext.define語法。我不確定這是否在遷移文檔中提到,如果沒有,我會添加它。

+0

謝謝Brian。那正是我正在做的。 – shane87 2011-05-10 08:05:58

0

假設您已經按照ExtJS 3 to 4 migration guide中的步驟操作,除了手動完成應用程序並進行更改之外,我認爲除此之外還有其他可以完成的工作。據對遷移煎茶的blog post(重點煤礦):

的Ext JS 3兼容層

它由一組文件,當Ext JS的4之後包括,提供覆蓋,這將引導現有分機的JS 3代碼在Ext JS 4下運行。該層的目標不是讓您的應用程序長期在Ext JS 4下未修改運行。相反,您應該期望僅將此圖層用作完全遷移到Ext JS 4的臨時手段。提供它的目的是儘可能快速和無痛地幫助實現過渡。與使用空白屏幕調試模糊錯誤相比,您可以使用兼容層更快地將應用程序恢復到呈現的功能狀態,從而使開始遷移到最新體系結構變得更加容易。