Extjs Sencha从披露中获得详细信息

Extjs Sencha从披露中获得详细信息,extjs,sencha-touch-2,sencha-touch-2.1,Extjs,Sencha Touch 2,Sencha Touch 2.1,我有一个sencha触摸列表发送到详细信息表单,没有问题-除了一个: 我需要将一个变量从存储记录传递到图像的详细信息页面,但在此之前我需要“清除”其中的路径。为了保持代码的整洁,我将只在这里粘贴相关部分。这是我的清单: var directoryList = Ext.create('Ext.List', { loadingText: "Loading Directory...", emptyText: "<div class='listing'>Not

我有一个sencha触摸列表发送到详细信息表单,没有问题-除了一个:

我需要将一个变量从存储记录传递到图像的详细信息页面,但在此之前我需要“清除”其中的路径。为了保持代码的整洁,我将只在这里粘贴相关部分。这是我的清单:

var directoryList = Ext.create('Ext.List', {
        loadingText: "Loading Directory...",
        emptyText: "<div class='listing'>Nothing in the directory!</div>",
        minHeight:'90%',
        cls: 'subList',
        store: 'directoryStore',
        id:'directory_list',
        grouped: true,
        deferEmptyText: true,
        indexBar: true,
        onItemDisclosure : true,
        itemTpl: tpl,
        listeners: {
            disclose: {
                fn: this.onDirectoryListDisclose,
                scope: this
            },
            itemtap: {
                fn: this.onDirectoryListClick,
                scope: this
            }
        }
    });
我的控制台准确地给出了我需要在下一页的图像对象中输入的值,但我似乎无法将此信息推送到记录中,也无法从我的详细信息页面中提取变量“avatar”。“我的详细信息”页批注:

Ext.define("directory.view.DirectoryRecord", {
extend: "Ext.form.Panel",
requires: ["Ext.form.FieldSet","Ext.field.Hidden","Ext.Img"],
xtype: 'directoryRecord',
config:{
    scrollable:'vertical'
},
等等等等然后

    var personTitle = {
        xtype: 'textfield',
        name: 'title',
        label: 'Name',
        disabled:true
    };

    var personJobTitle = {
        xtype: 'textfield',
        name: 'directory_job_title',
        label: 'Job Title',
        disabled:true
    };

    var personAvatar = {
        xtype: 'image',
        mode: 'image',
        src : "..."
    };
Title和job Title作为表单字段自动输入,并且记录已被推送通过。在《阿凡达》中,我想不出一种读入信息的方法

record.data.avatar-不起作用,因为avatar不是记录的一部分,而是一个变量


我知道这一定很简单,但正是这些简单的事情阻碍了这场演出。任何帮助都将不胜感激

将itemId提供给personAvatar

 var personAvatar = {
        xtype: 'image',
        mode: 'image',
        itemId : 'avatar',
        src : ""
 }
内部控制器

onMyRecordCommand: function(list, record) {
   var activateRecord = this.getRecordContainer();
    activateRecord.setRecord(record);
    var str = record.data.directory_avatar;
    var avatar = str.replace('{filedir_49}',"resources/images/");    
    console.log(avatar);

     activateRecord.down('fieldset').getComponent('avatar').setSrc(avatar);

    Ext.Viewport.animateActiveItem(activateRecord, this.slideLeftTransition);
},

getRecordContainer是否引用了directoryRecord?personAvatar的直接父对象是frompanel?personAvatar直接位于formpanel内或位于fieldset内?getRecordContainer是一个调用我的记录详细信息容器的方法。然后我在该视图上设置了记录,是的personAvatar在一个字段集中。全局视图extands form.panel给fieldset一个itemId,让我知道我更新了我的答案“无法调用未定义的方法”setSrc“是我尝试这个方法时得到的,嗯
onMyRecordCommand: function(list, record) {
   var activateRecord = this.getRecordContainer();
    activateRecord.setRecord(record);
    var str = record.data.directory_avatar;
    var avatar = str.replace('{filedir_49}',"resources/images/");    
    console.log(avatar);

     activateRecord.down('fieldset').getComponent('avatar').setSrc(avatar);

    Ext.Viewport.animateActiveItem(activateRecord, this.slideLeftTransition);
},