Sencha Touch 2 - 如何检查 ViewPort 中是不是存在项目

Posted

技术标签:

【中文标题】Sencha Touch 2 - 如何检查 ViewPort 中是不是存在项目【英文标题】:Sencha Touch 2 - How to check if an item exists in the ViewPortSencha Touch 2 - 如何检查 ViewPort 中是否存在项目 【发布时间】:2014-07-27 19:07:34 【问题描述】:

基本上,我想做的是在需要时将视图动态加载到 ViewPort 中。为了做到这一点,我需要确定视图是否已经添加到 ViewPort,因此它不会被多次添加。但是,查看 sencha touch 文档时,我无法找到正确的方法来检查 ViewPort 中是否存在项目。

总结一下

1 - 检查 ViewPort 是否包含我想要设置为活动的视图。像这样的:

if(!Ext.Viewport.items.contains('myviewtoactivate'))
    Ext.Viewport.add([ xtype: 'myviewtoactivate' ]);

2 - 然后我会将此视图设置为活动的(这部分我已经知道该怎么做)。

感谢您的帮助!

【问题讨论】:

【参考方案1】:

你可以在你的控制器中使用这样的东西:

    var main = this.getMain(),
        myview = main.down('myview');

    if(!myview)
        myview = main.add(
            xtype: 'myview'
        );
       

【讨论】:

我会尝试并告诉你。但据我了解,down() 接收选择器,我不确定选择器是否可以是 xtype。 效果很好!非常感谢人!很高兴知道我可以使用 xtype 作为选择器。

以上是关于Sencha Touch 2 - 如何检查 ViewPort 中是不是存在项目的主要内容,如果未能解决你的问题,请参考以下文章

sencha touch 2.2.1 检查控制器中的商店是不是为空?

如何使用 JQuery 和 Sencha touch

Sencha Touch:如何以编程方式关注 ios 上的文本字段?

如何在 Sencha Touch 2 模型中存储日期

Sencha Touch 2如何清理资源

Sencha Touch 2:数据集成或如何在sencha和javascript之间共享动态信息