Podaj argument z tpl Sencha

Mój json jest następujący:

({
"status":"TRUE",
"message":"Words",
"data":[
{
  "name":"paint",
  "author":"snooky",
  "word_id":"1",
  "category":"Business",
  "definitions":[
    {
      "rating":"Green",
      "defintion":"to put color to in something",
      "def_id":"1",
      "example":null,
      "author":"pit",
      "is_favourite":"yesStar"
    },
    {
      "rating":"Red",
      "defintion":"this is a new definition of word paint.",
      "def_id":"42",
      "example":null,
      "author":"bull",
      "is_favourite":"noStar"
    }
  ]
}
]
})

Analizuję tę wartość i pokazuję ją w tpl, jak pokazano poniżej:

{
    xtype: 'list',
    store: 'words',
    height: 140,
    layout: 'fit',
    scrollable: {  
      direction: 'vertical',
      directionLock: true,
    },
    margin: '0 0 5px 0',
    itemTpl: [          
    '<div>',
    '<tpl for="data">',
    '<ul class="parabox">',
    '<li><h2><b>{name}</b></h2>',
    '<tpl for="definitions">',
    '<ul class="para-box-wrapper">',
    '<li class="{rating}"><div >',
    '<div class="paragraph-def" ><p id = "wordDefinition" >{defintion}</p></div>',
    '<span class="authorBox"><i>Author: {author}</i></span>',
    '<div id="favourite" class="{is_favourite}" ></div>',
    '</div>',
    '</li>',
    '</ul>',
    '</tpl>',
    '</li>',
    '</ul>',
    '</tpl>',
    '</div>',
    ].join(''),
    listeners: {
      itemtap : function(list, index, target, record, event) {
  if (event.target.id=='wordDefinition') {
  alert("Rating clicked!");
   console.log(event.target.id);
  console.dir("Definition--"+record);
    //ratingStar();
  }
  if (event.target.id=='favourite') {
   alert('Favourite clicked!');
   console.log(event.target.id);
   console.dir("Favourite--"+record);
  //addToFavourite();
  }
}
}
}

Moja konsola jest następująca:

! [konsola] [1]

Jak pokazano na powyższym zdjęciu, chcę uzyskać dostęp do def_id i word_id, gdy użytkownik kliknie odpowiedni tpl, jak pokazano na poniższym obrazku, gdy użytkownik kliknie definicjętj. kibic piłkarski z nadwagą Potrzebuję word_id, a gdy użytkownik kliknie gwiazdkę, muszę uzyskać word_id. Doing record.data.data [0] .definitions [0] .def_id mogę go pobrać, ale chcę, aby był dynamiczny, ponieważ może istnieć definicja 4-5 później.

! [stopa] [2]

Mój sklep:

Ext.define('MyApp.store.wordsmenu',{
extend: 'Ext.data.Store', 
config:
{
autoLoad:true,
model: 'MyApp.model.words',    
id:'Contacts',
proxy:
{
    type: 'ajax',
    url: 'json', 
    reader:
    {
            rootProperty:''
    }
}
}
});

Mój model to:

Ext.define('MyApp.model.words', {
extend: 'Ext.data.Model',

config: {
   fields: [
        {name: 'status', mapping: 'status'},
        {name: 'message', mapping: 'message'},
        {name:'data', mapping: 'data'},
        {name: 'definitions', mapping: 'definitions.defintion'},
        {name: 'ratings', mapping: 'definitions.rating'},
    ]
}
});

Jestem w stanie pokazać wartość jsona w tpl. Teraz powinienem śledzić kliknięcie określonej definicji i oznaczyć gwiazdką i wysłać jej identyfikator na serwer, ale nie można uzyskać identyfikatora.

Dla odniesienia rekordu możesz sprawdzićtutaj. Jakaś pomoc!

questionAnswers(1)

yourAnswerToTheQuestion