如何在Sencha Touch中调用其他视图

时间:2014-05-07 09:56:46

标签: extjs sencha-touch

如何在tpl。

中定义的图像点击上调用新视图

代码:

tpl: Ext.create('Ext.XTemplate','<tpl for="sample">',
           '<div> {tittle}</div>
    <div><a href="{link}"><img src="{photo}"/></a></div>',
            '</tpl>', 

/////////////////////////////////////////

在你的指示之后,我确定我有什么不对劲。我只是想知道如何将图像链接到穿孔它带你到另一个视图。让我解释得更好? 非常感谢您的时间和奉献精神。

// myController的

Ext.define('DemoApp.controller.ControllerR', {
    extend: 'Ext.app.Controller',
        config: {
        refs: {
            res: 'res',

        },
        control: {
            'rest list': {
                itemtap: 'showR' },


        }
    },

          onCreateNewView: function() {
   if(document.getElementById('something')) {
      Ext.Viewport.setActiveItem(Ext.create('DemoApp.view.DetalTwo'));
   }
}, 


});

//我的模板

Ext.define('DemoApp.view.ViewR', {
    extend: 'Ext.Panel',
    xtype: 'res',
    config: {
        title: 'Res',
        iconCls: 'info',
        scrollable: true,
        data: {
            res: [ model: 'DemoApp.model.ModelR',
                   autoLoad: true,
                   storeId: 'resStore',
        proxy: {
            type: 'ajax',
           url: 'data/res.json',
             reader: {

                type: 'json',
                rootProperty:'wha.res'     

            }
        }]


        },
       tpl: Ext.create('Ext.XTemplate','<tpl for="sample">',
           '<div> {tittle}</div>
    <div><img id="something "src="{photo}"/></div>',
            '</tpl>', 
            {
                join: function(value) {
                    return value.join(', ');
                }
            })
    }
});

2 个答案:

答案 0 :(得分:1)

您可以为图片代码<img id = "something"/>指定一个ID,如果为列表定义tpl,则转到该列表的控制器或视图中的处理函数(您在其中)定义了一个列表和监听器)并编写了这段代码:

if(document.getElementById('Your img tag id')) {
    // create a view and active it
} 

例如:

onCreateNewView: function() {
   if(document.getElementById('something')) {
      Ext.Viewport.setActiveItem(Ext.create('DemoApp.view.NewView'));
   }
}

答案 1 :(得分:0)

首先要做的事情......在将这样的问题放入Stack之前,您应该 做一些谷歌 。您的代码完全错误,并且它包含主要的语法错误。我们不是来解决一些愚蠢的语法错误。不管怎么说让我解释一下..

1。)在您的控制器中,您尝试绑定“itemtap”事件。如果您的视图中有列表,则只能绑定“itemtap”事件。在这种情况下,没有列表。

2。)在控制器中看起来像这样:

refs: {
        imageList: '#imageList',
      },
      control: {
       'imageList': {
          itemtap: 'onCreateNewView'
        },
     }

3.。)在视图中创建一个列表:

config: {
      items: [
               {
                   xtype: 'list',
                   id: 'imageList',
                   itemId: 'imageList',
                   tpl:'Your tpl code'
               }
      ] 
   }