3

我正在尝试使用 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);
}

});

所以我的问题是如何将设置为参数(对于成员字段)

4

1 回答 1

2

createLink 是一个 grails 组件,它在运行 JS 代码之前处理服务器端。您不能将 JS 变量传递给 Java 组件,因为 Java 总是首先在服务器上处理,然后生成的 HTML 和 JS 将被发送到客户端进行处理。客户端对您的服务器端代码块一无所知。

我建议您用 HTML 重写 createLink 片段,并像使用名称和短名称一样替换为 JS 变量。

于 2013-03-30T18:36:48.760 回答