0

我需要从控制器替换图像。我怎样才能做到这一点 ?

控制器:

onNewsItemTap: function(dataview, index, target, record, e, eOpts) {



            var form = Ext.create("MyApp.view.mYV",{
                title:record.data.Gender,
                record:record
            });
// I NEED TO REPLACE THE DEFAULT.JPG IMAGE WITH SOME OTHER IMAGE. HOW CAN I ACCESS THE IMAGE VIEW FROM THE CONTROLLER ?
// MY WORKING

 var imageView = Ext.ComponentQuery.query('#myvID > #myimage')[0];
    imageView.setValue(record.data.imageurl);

            this.getMainView().push(form);

    },

看法:

Ext.define('MyApp.view.mYV', {
    extend: 'Ext.form.Panel',
    alias: 'widget.myv',

    config: {
        fullscreen: true,
        id: 'myvID',
        scrollable: 'vertical',
        items: [
            {
                xtype: 'image',
                height: 201,
                id: 'myimage',
                src: 'http://www.mysite/default.jpg'
            }
        ]
    }

});

注意:更新

我有一个导航视图,我从该导航视图导航到mYV视图,以及我需要访问图像的位置。

4

1 回答 1

1

你有图像的 id .. 你还需要什么

Ext.getCmp('myimage').setSrc(record.data.imageurl)

但这不是好的做法,您可以通过多种方式做到这一点

我鼓励你看看Ext.getCmp() Screencast 的危险

更新

在视图中..

删除 id 并在图像组件中给它 itemID

{
    xtype: 'image',
    height: 201,
    itemId: 'myimage',
    src: 'http://www.mysite/default.jpg'
 }

在控制器中

  var form = Ext.create("MyApp.view.mYV",{
     title:record.data.Gender,
     record:record
 });

 form.getComponent('myimage').setSrc(record.data.imageurl);
于 2013-07-19T05:11:38.487 回答