產生干將我試圖創建基本控制器,並寫在它:ExtJS的4.1控制器的繼承與商店和模型
Ext.define('My.Users.controller.Role', {
extend : 'Ext.app.Controller',
stores : [
'Modules', 'ModulesList'
],
models : [
'Modules', 'ModulesList'
]
});
但是當我試圖用干將爲他們(在這個基類,或者它的子類,如My.Users.controller.Group),如getModulesStore()或getModulesListModel(),我有一個錯誤,他們不是函數。在Firebug中,我可以看到在子類和它的超類中沒有這種方法。我該如何解決它?
的完整描述如何重現此錯誤: 1)煎茶
2下載的ExtJS 4.1 GPL)解壓縮檔案,並進入ExtJS的目錄-4.1.0 /例子/應用/饋瀏覽器/
3)在文件feed-viewer.html註釋行<script type="text/javascript" src="all-classes.js"></script>
中強制加載js文件:現在您可以正常編輯項目文件的內容。
4)在文件夾中的應用程序/控制器創建名爲Entities.js文件與以下代碼:
Ext.define('FV.controller.Entities', {
extend: 'Ext.app.Controller',
models: ['Shared'],
stores: ['Shared']
});
5)在文件Articles.js和Feeds.js改變延伸到 'FV.controller.Entities'
6)在文件夾中的應用程序/模型和應用程序/存儲創建內容文件Shared.js
Ext.define('FV.model.Shared', {
extend: 'Ext.data.Model',
idProperty: 'id',
fields: [
{
name: 'id',
type: 'int'
},
{
name: 'title',
type: 'string'
}
]
});
型號和
Ext.define('FV.store.Shared', {
extend: 'Ext.data.Store',
model: 'FV.model.Shared',
proxy: {
type: 'ajax',
url: 'test.json',
reader: {
type: 'json',
root: 'item'
}
}
});
適用於商店。 7)最後,例如,在Article.js的init方法中嘗試console.log(this); 在Firebug中,您不會得到getSharedModel()和getSharedStore()方法。
我,如果你正在使用refs
財產上傳了我的樣品http://nekaka.com/d/W1_EOlnPST
你的代碼看起來正確的給我,所以有可能在店裏模型,你正在嘗試使用的名稱/ ID不匹配。 – JohnnyHK