【问题标题】:using extjs Store from Different JS file使用来自不同 JS 文件的 extjs Store
【发布时间】:2013-12-30 11:29:15
【问题描述】:

这是 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,但失败了。
如何解决这个问题?谢谢

【问题讨论】:

    标签: javascript extjs jsonstore


    【解决方案1】:

    您将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');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-19
      • 2014-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      相关资源
      最近更新 更多