我对sencha触摸很新,我已经做了很多研究和教程来学习基础知识但是现在我正在尝试我遇到了一个我无法弄清楚的问题.
我有一个基本的DataList,它从一个显示在xtemplate中的商店中获取数据.
在这个模板中,我创建了一个成员函数,它要求将商店字段数据解析为参数.
我想制作一个缩略图(这是从商店拉出的源)在点击/点击时执行成员功能.
我在文档中找不到关于此的任何信息,有没有人知道最好的方法呢?
这是一个代码示例(从文档中提取,因为我现在无法访问我的实际代码).
var tpl = new Ext.XTemplate(
'<p>Name: {name}</p>'
{
tapFunction: function(name){
alert(name);
}
}
);
tpl.overwrite(panel.body, data);
Run Code Online (Sandbox Code Playgroud)
我想使段落可单击,然后执行tapFunction()成员函数并传递{name}变量.
像onclick ="{[this.tapFunction(values.name)]}"这样的东西似乎不起作用.
我认为一旦渲染视图就会执行模板中的函数,所以我认为这不是正确的解决方案.
在你的情况下我会做的是:
在<p>标记中添加一个唯一的类
tpl : '<p class="my-p-tag">{name}</p>'
Run Code Online (Sandbox Code Playgroud)
检测列表上的itemtap事件
在数据视图控制器中,您可以tap在列表中添加事件侦听器.
refs: {
myList: 'WHATEVER_REFERENCE_MATCHES_YOUR_LIST'
},
control: {
myList: {
itemtap: 'listItemTap'
}
}
Run Code Online (Sandbox Code Playgroud)
检查点击目标是否为<p>标记
为此,请执行以下listItemTap功能:
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'));
}
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
1816 次 |
| 最近记录: |