Sencha touch 2 在sencha touch 2模板中单击/点击调用成员函数

Sencha touch 2 在sencha touch 2模板中单击/点击调用成员函数,sencha-touch-2,Sencha Touch 2,我对sencha touch相当陌生,我已经做了很多研究和教程来学习基础知识,但现在我正在进行实验,我遇到了一个我无法解决的问题 我有一个基本的DataList,它从xtemplate中显示的存储中获取数据 在这个模板中,我创建了一个成员函数,它要求将存储字段数据解析为参数 我想制作一个缩略图(其来源是从商店中提取的)在单击/点击时执行成员功能 我在文档中找不到任何关于这方面的信息,有人知道最好的方法吗 下面是一个代码示例(从文档中提取,因为我现在无法访问实际代码) var tpl=new Ex

我对sencha touch相当陌生,我已经做了很多研究和教程来学习基础知识,但现在我正在进行实验,我遇到了一个我无法解决的问题

我有一个基本的DataList,它从xtemplate中显示的存储中获取数据

在这个模板中,我创建了一个成员函数,它要求将存储字段数据解析为参数

我想制作一个缩略图(其来源是从商店中提取的)在单击/点击时执行成员功能

我在文档中找不到任何关于这方面的信息,有人知道最好的方法吗

下面是一个代码示例(从文档中提取,因为我现在无法访问实际代码)

var tpl=new Ext.XTemplate(
“名称:{Name}

” { tapFunction:函数(名称){ 警报(名称); } } ); tpl.覆盖(面板、主体、数据);
我想使段落可单击,然后执行tapFunction()成员函数并传递{name}变量


执行类似onclick=“{[this.tapFunction(values.name)]}”的操作似乎不起作用

我认为模板中的函数会在视图呈现后立即执行,因此我认为这不是合适的解决方案

在你的情况下,我会做的是:

将唯一类添加到您的标记中

tpl : '<p class="my-p-tag">{name}</p>'
检查点击的目标是否为标签

tpl : '<p class="my-p-tag">{name}</p>'
为此,请按如下方式实现
listitItemTap
功能:

listItemTap: function(list,index,target,record,e){
  var node = e.target;
  if (node.className && node.className.indexOf('my-p-tag') > -1) {
    console.log(record.get('name'));
  }
}

希望这有帮助

我认为模板中的函数会在视图呈现后立即执行,所以我认为这不是合适的解决方案

在你的情况下,我会做的是:

将唯一类添加到您的标记中

tpl : '<p class="my-p-tag">{name}</p>'
检查点击的目标是否为标签

tpl : '<p class="my-p-tag">{name}</p>'
为此,请按如下方式实现
listitItemTap
功能:

listItemTap: function(list,index,target,record,e){
  var node = e.target;
  if (node.className && node.className.indexOf('my-p-tag') > -1) {
    console.log(record.get('name'));
  }
}

希望这有帮助

请查看代码示例的编辑。请查看代码示例的编辑。谢谢,这就是我要找的。传递{name}参数的最佳方法是将标记的ID设置为{name},然后在代码中获取ID吗?或者你知道更好的方法吗?首先,我不认为使用名字作为ID是个好主意,名字不是唯一的。但您不必使用事件ID;在listItemTap函数中,您可以访问记录,所以只需执行record.get('name');(参见编辑的代码)很好,我没有注意到记录对象在范围中可用。谢谢你另外,{name}只是一个例子,在实际代码中,我传递了一个唯一的ID。谢谢,这就是我要寻找的。传递{name}参数的最佳方法是将标记的ID设置为{name},然后在代码中获取ID吗?或者你知道更好的方法吗?首先,我不认为使用名字作为ID是个好主意,名字不是唯一的。但您不必使用事件ID;在listItemTap函数中,您可以访问记录,所以只需执行record.get('name');(参见编辑的代码)很好,我没有注意到记录对象在范围中可用。谢谢你另外,{name}只是一个例子,在实际代码中,我传递的是一个唯一的ID。