How to get value form record in sencha touch

2019-01-20 00:10发布

问题:

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

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

回答1:

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).



回答2:

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


回答3:

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.