【问题标题】:Extjs 5 store.load()Extjs 5 store.load()
【发布时间】:2015-11-21 20:16:25
【问题描述】:

我有一个简单的 (user_data) 商店。我加载了这家商店:

user_data_store.load({
    scope: this,
    callback: function(g, records, operation, success) {
         console.log(g);
         var login_name = ???
    },
});

这是一个简单的json:

[{
   "login_id" : "1",
   "login_name" : "test",
   "login_email" : "test@test.com",
   "login_mobile" : "11111111"
 }]

但我不知道如何获取 login_name? (测试)

【问题讨论】:

    标签: javascript extjs store extjs5


    【解决方案1】:

    试试这个方法

    user_data_store.load({
           scope: this,
           callback: function(records, operation, success) {
               console.log(records[0].get('login_name'));
           },
    });
    

    【讨论】:

    • 对不起。这是行不通的。未捕获的 TypeError:records.getAt 不是函数
    • 对不起.. 尝试使用 records[0].get('login_name'),我已经更新了我的答案。另外,如果这不起作用.. 将 console.log(records) 的内容放在您的问题中
    • Guilherme Lopes:感谢您的帮助!
    • 没问题,通常当您有一个具有数据属性的 ExtJS 对象时,您可以使用 getter/setter。所以 record[0].get('login_name') 或 record[0].set('login_name', 'sencha');
    【解决方案2】:

    试试这个

    store.load({
        scope: this,
        callback: function(records, operation, success) {
            // the operation object
            // contains all of the details of the load operation
            console.log(records[0].login_name);
        }
    });
    

    参考docs

    【讨论】:

    • 对不起。这是行不通的。我的 console.log(records); :[g] 0:g 数据:对象 id:“extModel493-1” login_email:“test@test.com” login_id:“1” login_mobile:“11111111” login_name:“test”
    • console.log(g); => 未定义
    • 尝试记录 arguments 并检查您从哪里获得实际记录
    • 看起来您设置的参数数量错误,根据文档,只有 3 个参数可用,即records, operation, success
    • MMT:感谢您的帮助!
    猜你喜欢
    • 2013-07-07
    • 1970-01-01
    • 1970-01-01
    • 2016-11-24
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    相关资源
    最近更新 更多