我在coffeescript中创建一个简单的存储,但是当我在浏览器控制台Ext.getStore('visitors')
中调用它时它返回为未定义的
Ext.define 'heroico.store.Visitors',
extend: 'Ext.data.Store'
model: 'heroico.model.Visitor'
storeId: 'visitors'
如果我在没有实际扩展'Ext.data.Store'
的情况下创建它,我可以通过getStore
方法找到它,但我无法将其加载到stores
数组中的控制器中:
Ext.create 'Ext.data.Store',
model: 'heroico.model.Visitor'
storeId: 'visitors'
知道为什么会这样做吗?
答案 0 :(得分:3)
控制器会自动初始化商店。如果你在控制器的存储阵列中有它并且没有加载,请确保你的控制器通过在Application.js的控制器数组中列出来加载。还要确保您在store数组中正确列出它,但您没有发布该代码。检查控制台是否有任何错误。
答案 1 :(得分:0)
使用Ext.define
只定义一个类,它不会创建该类的实例。因此,当您致电Ext.getStore
时,它会返回null
。
定义商店后,请务必在某处调用Ext.create('heroico.store.Visitors')
来实际创建实例,然后Ext.getStore
应该有效。