Übergebe das Argument von tpl Sencha

Mein json ist wie folgt:

({
"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"
    }
  ]
}
]
})

Ich analysiere diesen Wert und zeige ihn in tpl wie unten gezeigt:

{
    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();
  }
}
}
}

Meine Konsole sieht wie folgt aus:

! [Konsole] [1]

Wie in obigem Bild gezeigt, möchte ich auf def_id und word_id zugreifen, wenn der Benutzer auf die entsprechende tpl klickt, wie in der folgenden Abbildung gezeigt, wenn der Benutzer auf die Definition klicktübergewichtiger Fußballfan Ich brauche es ist word_id und wenn Benutzer auf Stern klickt, muss ich word_id bekommen. Record.data.data [0] .definitions [0] .def_id ausführen Ich kann es bekommen, aber ich möchte, dass es dynamisch ist, da es später möglicherweise 4-5 Definitionen gibt.

! [rate] [2]

Mein Laden:

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

Mein Model sind:

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'},
    ]
}
});

Ich kann den json-Wert in tpl anzeigen. Jetzt sollte ich nachverfolgen, auf bestimmte Definition und Stern klicken und seine ID an den Server senden, aber nicht in der Lage sein, ID zu erhalten.

Als Referenz der Aufzeichnung können Sie überprüfenHier. Irgendeine Hilfe!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage