单击按钮时渲染新视图

den*_*iss 2 extjs sencha-touch sencha-touch-2

我是Sencha 2的菜鸟,我试图在点击按钮时找到一种渲染新视图的方法.具体来说,我有一个名为Home的视图

Ext.define("Blog.view.Home", {
  extend:'Ext.Panel',
  xtype:'homepanel',


  config:{
    iconCls:"home",
    title:"Home",
    items:[
      {
        defaults:{
          iconMask:true
        },
        xtype:'toolbar',
        title:'Recent Blogs',
        docked:'top',
        items:[
          {
            id:'newBlog',
            xtype:'button',
            iconCls:'add',
            handler:function () {
              //What do I do here?
            }
          }
        ]
      },

      {
        html:"Recent Blogs"
      }
    ]
  }
});
Run Code Online (Sandbox Code Playgroud)

我希望该按钮在单击时呈现新视图.我只是不确定我会怎么做这件事.有人可以给我一些指针吗?这是最好的方法吗?我应该将它移动到我的控制器吗?如果是,我应该听哪个事件?

小智 5

我这样做的方式(我也在学习)是定义我的按钮的属性'action',例如:

{
  xtype: 'button'
  action: 'doSomething',
}
Run Code Online (Sandbox Code Playgroud)

并在我的控制器的控制配置中处理事件:

control: {
  'button[action=doSomething]' : {
     tap: function() {
       getMainView().push(...);
     }
 }
Run Code Online (Sandbox Code Playgroud)

在处理程序中,如果使用NavigationView或直接向ViewPort添加新视图,则可以推送新视图.

希望能帮助到你.