如何从控制器添加图像 - 初学者

时间:2013-07-19 03:22:46

标签: sencha-touch sencha-touch-2 sencha-architect

我需要更换控制器中的图像。我怎么能这样做?

控制器:

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视图,以及我需要访问图像的位置。

1 个答案:

答案 0 :(得分:1)

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

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

但这不是好习惯,你可以用很多方式做同样的事情

我建议您查看The dangers of 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);