如何在tpl。
中定义的图像点击上调用新视图代码:
tpl: Ext.create('Ext.XTemplate','<tpl for="sample">',
'<div> {tittle}</div>
<div><a href="{link}"><img src="{photo}"/></a></div>',
'</tpl>',
/////////////////////////////////////////
在你的指示之后,我确定我有什么不对劲。我只是想知道如何将图像链接到穿孔它带你到另一个视图。让我解释得更好? 非常感谢您的时间和奉献精神。
// myController的
Ext.define('DemoApp.controller.ControllerR', {
extend: 'Ext.app.Controller',
config: {
refs: {
res: 'res',
},
control: {
'rest list': {
itemtap: 'showR' },
}
},
onCreateNewView: function() {
if(document.getElementById('something')) {
Ext.Viewport.setActiveItem(Ext.create('DemoApp.view.DetalTwo'));
}
},
});
//我的模板
Ext.define('DemoApp.view.ViewR', {
extend: 'Ext.Panel',
xtype: 'res',
config: {
title: 'Res',
iconCls: 'info',
scrollable: true,
data: {
res: [ model: 'DemoApp.model.ModelR',
autoLoad: true,
storeId: 'resStore',
proxy: {
type: 'ajax',
url: 'data/res.json',
reader: {
type: 'json',
rootProperty:'wha.res'
}
}]
},
tpl: Ext.create('Ext.XTemplate','<tpl for="sample">',
'<div> {tittle}</div>
<div><img id="something "src="{photo}"/></div>',
'</tpl>',
{
join: function(value) {
return value.join(', ');
}
})
}
});
答案 0 :(得分:1)
您可以为图片代码<img id = "something"/>
指定一个ID,如果为列表定义tpl,则转到该列表的控制器或视图中的处理函数(您在其中)定义了一个列表和监听器)并编写了这段代码:
if(document.getElementById('Your img tag id')) {
// create a view and active it
}
例如:
onCreateNewView: function() {
if(document.getElementById('something')) {
Ext.Viewport.setActiveItem(Ext.create('DemoApp.view.NewView'));
}
}
答案 1 :(得分:0)
首先要做的事情......在将这样的问题放入Stack之前,您应该 做一些谷歌 。您的代码完全错误,并且它包含主要的语法错误。我们不是来解决一些愚蠢的语法错误。不管怎么说让我解释一下..
1。)在您的控制器中,您尝试绑定“itemtap
”事件。如果您的视图中有列表,则只能绑定“itemtap
”事件。在这种情况下,没有列表。
2。)在控制器中看起来像这样:
refs: {
imageList: '#imageList',
},
control: {
'imageList': {
itemtap: 'onCreateNewView'
},
}
3.。)在视图中创建一个列表:
config: {
items: [
{
xtype: 'list',
id: 'imageList',
itemId: 'imageList',
tpl:'Your tpl code'
}
]
}