这是CreateUI.js
Ext.onReady(function() {
Ext.QuickTips.init(); //tips box
Ext.define('RouteModel', {
extend: 'Ext.data.Model',
fields: [{name: '_id', type: 'number'}, 'Route_Code','Route_Name','Name','AddBy_ID']
});
Ext.override(Ext.data.Connection, {
timeout : 840000
});
var RouteNameStore = Ext.create('Ext.data.JsonStore', {
model: 'RouteModel',
autoLoad: true,
proxy: {
type: 'ajax',
url: 'get-routename.php',
api: {
create: 'insert-routename.php',
//read: 'http://visual04/ModuleGestion/php/Pays.php?action=read',
update: 'update-routename.php',
//destroy: 'http://visual04/ModuleGestion/php/Pays.php?action=destroy'
},
reader: {
type: 'json',
idProperty: '_id'
},
writer: {
type: 'json',
id: '_id'
}
}
});
})
routename.js
RouteNameStore.add ({
Route_Code: txtAddRouteCode,
Route_Name: txtAddRouteName,
AddBy_ID: getCookie('User_ID')
});
这是链接这两个js文件的index.html页面
<script type="text/javascript" src="CreateUI.js?"></script>
<script type="text/javascript" src="routename.js?"></script>
火灾错误
ReferenceError: RouteNameStore is not defined
RouteNameStore.add ({
我试图在不同的JavaScript文件上使用JSonStore,但失败了 怎么解决这个问题?感谢
答案 0 :(得分:3)
您将RouteNameStore
定义为Ext.onReady
处理函数内的局部变量。
因为变量范围在函数内部,所以无法从其他函数访问它。
如果您想了解有关JavaScript中变量作用域的更多信息,请查看此处:What is the scope of variables in JavaScript?
要访问ExtJS中的商店,您可以将商店配置添加到唯一storeId
,然后通过Ext.data.StoreManager
// create store
Ext.create('Ext.data.Store', {
...
storeId: 'myStore'
...
});
// get existing store instance
var store = Ext.data.StoreManager.lookup('myStore');