How to get value form record in sencha touch

2019-01-20 00:18发布

I am trying to get value from nested json, but unable to get value. I have following data structure. Here I am printing record.

enter image description here

What i did.

 onWordTap: function(view, index, target, record, event) {
        var wordName=record.get('name');
        console.log("Word--->>>>"+wordName);
        console.log(record);
    },

but i get in console like this:-> Word--->>>>undefined

I have tried this also:

var wordName=record.data.get('name');

but getting

Uncaught TypeError: Object # has no method 'get'

my JSON looks like this: JSON

My previous question is also related to this type question, please watch . Previous Problem

3条回答
干净又极端
2楼-- · 2019-01-20 00:40

I am assuming this is a DataView or a List, and that onWordTap is a listener for for itemtap.

If that is the case, to get data from records, you just need record.get('name'). You can also use record.get('definitions')[0].definition (note that you've spelled it defintion in your code - beware).

查看更多
迷人小祖宗
3楼-- · 2019-01-20 00:40

your JSON contains array of data , so you need to access it with index. you can do it like this.

var wordName = record.data[0].get('name');
查看更多
祖国的老花朵
4楼-- · 2019-01-20 00:43

It looks like you have a data property inside the data object. So it means sencha recognize the record as it has only one field actually called data. So, if im not wrong, what's the output of:

console.log(record.get('data'));

Also, please add the model associated to the store containing record.

查看更多
登录 后发表回答