我正在尝试使用ExtJS 4从数据库检索图像到数据视图。现在我需要动态传递参数。大多数情况下..........
Ext.define('${pkgName}.v02x003001.SV02X00300102' , {
extend : 'Ext.view.View',
alias : 'widget.sv02x00300102',
id : 'images-view',
autoScroll : true,
trackOver : true,
multiSelect : true,
height : 310,
overItemCls : 'x-item-over',
itemSelector : 'div.thumb-wrap',
emptyText : 'No images to display',
prepareData : function(data) {
Ext.apply(data, {
shortName : Ext.util.Format.ellipsis(data.name, 15),
sizeString: Ext.util.Format.fileSize(data.size),
dateString: Ext.util.Format.date(data.lastmod, "m/d/Y g:i a")
});
return data;
},
initComponent: function() {
var me = this;
var value= Ext.getCmp('member-sv02x00300104').getValue();
me.store = 'S02X003001',
me.tpl = [
'<tpl for=".">',
'<div class="thumb-wrap" id="{name}">',
'<div class="thumb"><img src="${createLink(mapping:'img', params:[member: **value** , width:100, height:100])}" title="{name}"></div>',
'<span class="x-editable">{shortName}</span></div>',
'</tpl>',
'<div class="x-clear"></div>'
];
me.callParent(arguments);
}
});
所以我的问题是如何将值设置为参数(对于成员字段)
答案 0 :(得分:2)
createLink是一个grails组件,它是进程服务器端。 您无法将JS变量传递给Java组件,因为Java将始终首先在服务器上处理,然后生成的HTML和JS将被发送到客户端进行处理。客户端对您的服务器端代码块一无所知。
我建议你用HTML重写createLink piece,并用JS名称和短名称代替JS变量。