Sencha Touch 2,使用get组件获取视图的名称

时间:2014-04-28 13:43:46

标签: extjs sencha-touch

在我的Sencha Touch控制器中,我使用refs

选择我的视图

config:{

refs: {
    HomeView: 'HomeView',
    LoginView: 'LoginView',
    ProductsView: 'ProductsView',
    TestViewTwo: 'TestViewTwo'
}

}

我有路线:

routes: {
    '': 'home',
    'home' : 'home',
    'login' : 'login',
    'products' : 'products',
    'products/:id': 'product',
    'testingtwo' : 'testingtwo'
}

并且,当用户进入某条路线时,我会进行以下检查:

  

查看视图是否存在,如果不创建,则将其添加到视口

home: function () {

    console.log('TestApp.controller.Router home function');

    var comp = this.getHomeView();

    // How can I get the view name from "comp", to avoid manually typing the name of the new view:
    newView = 'TestApp.view.HomeView';  // i want to avoid this.

    // the pseudo code should be:
    newView = comp.getViewName;


    if (comp === undefined) comp = Ext.create(newView);

    this.changeView(comp);
}

如何从“comp”获取视图名称,以避免手动输入新视图的名称?

我已在上面的代码中更好地解释了它。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

使用Ext.ClassManager.getClass(component);