导航视图 Sencha Touch 2

2024-01-22

我在 Sencha Touch 2 中的 NavigationView 有问题。 当我按下“后退”按钮时,我无法导航多个窗口。

我使用 view.push() 和 view.pop() 进行导航。

view.js:

Ext.define('MyApp.view.view', {
extend: 'Ext.navigation.View',
alias: 'widget.View',

config: {
    id: 'nvView',
    items: [
        {
            xtype: 'toolbar',
            docked: 'bottom',
            layout: {
                align: 'center',
                pack: 'center',
                type: 'hbox'
            },
            items: [
                {
                    xtype: 'button',
                    iconAlign: 'center',
                    iconCls: 'info',
                    iconMask: true,
                    text: 'Ayuda'
                },
                {
                    xtype: 'button',
                    iconAlign: 'center',
                    iconCls: 'compose',
                    iconMask: true,
                    text: 'Guardar'
                },
                {
                    xtype: 'button',
                    id: 'volver',
                    iconAlign: 'center',
                    iconCls: 'reply',
                    iconMask: true,
                    text: 'Volver'
                }
            ]
        },
        {
            xtype: 'formpanel',
            title: 'View',
            html: 'View1',
            id: 'View1',
            styleHtmlContent: true,
            items: [
                {
                    xtype: 'button',
                    docked: 'bottom',
                    id: 'bView1',
                    margin: 10,
                    ui: 'forward',
                    text: 'siguiente'
                }
            ]
        }
    ]
}
});

view2.js:

Ext.define('MyApp.view.View2', {
extend: 'Ext.form.Panel',
alias: 'widget.View2',

config: {
    fullscreen: true,
    html: 'View2',
    id: 'View2',
    styleHtmlContent: true,
    items: [
        {
            xtype: 'button',
            docked: 'bottom',
            id: 'bView2',
            margin: 10,
            ui: 'forward',
            text: 'siguiente'
        }
    ]
}
});

view3.js:

Ext.define('MyApp.view.View3', {
extend: 'Ext.form.Panel',
alias: 'widget.View3',

config: {
    fullscreen: true,
    html: 'View3',
    id: 'View3',
    styleHtmlContent: true,
    items: [
        {
            xtype: 'button',
            docked: 'bottom',
            id: 'bView3',
            margin: 10,
            ui: 'forward',
            text: 'siguiente'
        }
    ]
}
});

ViewController.js:

Ext.define('MyApp.controller.ViewController', {
extend: 'Ext.app.Controller',

config: {
    views: [
        'View'
    ],

    refs: {
        bView1: 'bView1',
        bView2: 'bView2'
    },

    control: {
        "#bView1": {
            tap: 'onView1'
        },
        "#bView2": {
            tap: 'onView2'
        }
    }
},

onView1: function(button, e, options) {
    button.up('navigationview').push({
        xtype: 'View2',
        title: 'View2'
    });
},

onView2: function(button, e, options) {
    button.up('navigationview').push({
        xtype: 'View3',
        title: 'View3'
    });
}
});

我的问题的一个例子是这样的: 我从 view1 开始,然后按下“siguiente”按钮,然后转到 view2。如果我按下“后退”按钮(在导航视图中),我会进入视图1,然后按下按钮“siguiente”并进入视图2,但在视图2中,我按下按钮“siguiente”,我无法进入视图3。

预先非常感谢您!


这是因为你使用id,所以当你第二次启动它时,它会发生冲突,显示警告并且功能无法正常工作。如果您使用的话,您会很安全itemId.

itemId: 'bView1' //same for other view bView2, bView3

参考您的itemId在控制器中,只需这样做,例如:

refs: {
    bView1: '[itemId=bView1]',
    bhView2: '[itemId=bView2]',
    bhView3: '[itemId=bView3]'
},

control: {
     bView1: {
         tap: 'onView1'
     },
     bhView2: {
         tap: 'onView2'
     },
},

onView1: function(button, e, options) {
    button.up('navigationview').push({
        xtype: 'View2',
        title: 'View2'
    });
},

onView2: function(button, e, options) {
    button.up('navigationview').push({
        xtype: 'View3',
        title: 'View3'
    });
}

希望能帮助到你 :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

导航视图 Sencha Touch 2 的相关文章

随机推荐

  • C# 属性名称缩写

    C 属性的名称中怎么可能有 Attribute 例如DataMemberAttribute 但初始化时没有这个后缀 例如 DataMember private int i 根据C 语言规范 http msdn microsoft com e
  • 使用 Akka 进行依赖注入

    我在我的应用程序中经常使用 Guice 最近我开始学习 akka actor 并想用它重构我的应用程序 然而 一开始我就想知道我的所有技巧将如何与演员合作 我继续在谷歌上搜索 结果有点混乱 我找到的关于该主题的最新文档是 http leti
  • python 中的文本语言检测

    我正在尝试检测可能由未知数量的语言组成的文本的语言 下面的代码给了我不同的语言作为答案注意 我减少了评论 因为它在发布 不允许时给出错误 print detect print detect 的马来西亚 print detect Vi hav
  • 屏幕旋转后不会调用 onSaveInstanceState

    我知道有很多关于 onSaveInstanceState 的问题 但我无法找到问题的答案 我有一个扩展 AppCompatActivity 的活动 此活动使用 3 个片段 它有一个变量 int currentStep 来跟踪正在显示的片段
  • 从网页中打开查找器/资源管理器中的文件夹?

    如果我有文件系统路径 我可以在资源管理器 在 Windows 上 或 Finder 在 OS X 上 中打开一个窗口 显示该路径指向的文件夹吗 跨平台和 或无插件答案的 Cookie 点 For 节点 webkit http docs nw
  • PySpark 流式处理:窗口和转换

    我正在尝试从 Spark 流数据源读取数据 按事件时间对其进行窗口化 然后对窗口化数据运行自定义 Python 函数 它使用非标准 Python 库 我的数据框看起来像这样 Time Value 2018 01 01 12 23 50 20
  • 使用名称中带有字符串和迭代索引的 savefig

    我需要使用Python中的 savefig 来保存while循环的每次迭代的绘图 并且我希望我给图形指定的名称包含文字部分和数字部分 该数字来自数组或者是与迭代索引相关联的数字 我举一个简单的例子 index py from numpy i
  • 根据片段更改操作栏菜单状态

    我试图根据可见的片段在操作栏中显示 隐藏项目 在我的 MainActivity 中我有以下内容 Called whenever invalidateOptionsMenu is called Override public boolean
  • 如果我有嵌套的dispatch_async调用会发生什么?

    这可能是一个愚蠢的问题 但我需要自己问并解决这个问题 要将块提交到队列上执行 请使用以下函数dispatch sync and dispatch async 它们都采用队列和块作为参数 dispatch async立即返回 异步运行该块 而
  • 如果 CDI 和 EJB 都捆绑在 EAR 中,如何让 CDI 参与战争并运行 EJB

    我正在尝试构建一个在 EAR 中组装的企业应用程序 该应用程序应包含一个或多个ejb jars以及一个或多个war的 我想大量使用CDI 拦截器和生产者 在第一步中 我想使用日志生产者它被放置在ejb jar在应用程序的所有领域 我所做的是
  • 尝试创建一个圆形菜单

    我正在尝试使用 html 和 css 创建一个带有放射线的圆形菜单 但白色边框构建得不好 而且它在谷歌浏览器中看起来不太好 不像圆圈 我需要获得第 5 项和第 6 项之间的最后一个白色径向 我尝试过下一个代码 DEMO http jsfid
  • 无效的 CRM 2011 LINQ 查询:“‘where’条件无效。实体成员正在调用无效的属性或方法。”

    我正在尝试执行此查询来检索特定实体类型的审核项目 public List
  • 哈希表可以序列化吗?

    我看到一种普遍存在的belief https blogs msdn microsoft com adam 2010 09 10 how to serialize a dictionary or hashtable in c 2009年文章
  • Android:如何在软键盘中的候选视图上制作按钮?

    我想在按钮内制作candidateView 但是 你看到日志猫 请分享代码 我的代码软键盘 java Override public View onCreateCandidatesView LayoutInflater li LayoutI
  • 包的功能列表[重复]

    这个问题在这里已经有答案了 有没有一种简单 友好的方法来列出包的所有功能 而无需下载那些巨大的 PDF 包参考 我需要这个来让我熟悉这个包 找到合适的功能等 I tried rjags但它没有达到我的预期 加载包 例如car包裹 然后使用l
  • 变量总是重置

    我正在使用表单创建类似 mastermind 的游戏 我的问题是我有一个变量 attempts 我希望它在每次用户猜测数字时增加 但它似乎总是重置为零 因此我的尝试次数将始终显示为 1 如果有帮助 这里是我正在使用的代码 black 0 w
  • 如何使用assertTrue?

    I have package com darlik test import org junit Assert public class Test public static void main String args assertTrue
  • LINQ 多对多关系:解决方案?

    到目前为止 LINQ 已经非常优雅 但是为了执行基本的 m2m 查询 它没有提供我可以立即看到的解决方案 更糟糕的是 虽然它适用于任何其他表关系 但 LINQ 没有在我的 m2m 表的类结构中提供关联 所以我可以做类似的事情 artwork
  • justify-items 如何在 display:block 元素上工作

    The MDN 文档 https developer mozilla org en US docs Web CSS justify items of justify items指出 在块级布局中 它在内联轴上对齐其包含块内的项目 现在 我认
  • 导航视图 Sencha Touch 2

    我在 Sencha Touch 2 中的 NavigationView 有问题 当我按下 后退 按钮时 我无法导航多个窗口 我使用 view push 和 view pop 进行导航 view js Ext define MyApp vie