在我的tabview标签中,我有一个“注销”按钮
var application = require("application");
application.run({ moduleName: "app-login" });
但是我得到了
RangeError:超出了最大调用堆栈大小
执行代码时。最终,我试图在用户需要全屏退出(即不在选项卡中)时返回登录屏幕。该应用程序的体系结构类似于tabview-template
示例,每个标签都有框架。
任何帮助,不胜感激!
答案 0 :(得分:0)
我可能对您的体系结构有误解,但是我认为在应用程序的生命周期中多次调用引导程序功能application.run({ moduleName: "app-login" });
是有效的,因为该应用程序已经在运行(无论屏幕处于打开状态)。>
答案 1 :(得分:0)
实际上,subprocess.run()
是引导您的应用程序的方法。你不应该打两次。
嵌套框架功能未得到正式支持,也没有记录,但在NativeScript核心中是可能的。它尚未正式发布的原因是由于ActionBars等的某些意外副作用。在您的情况下,您只需获取正确的application.run()
并在其上调用Frame
。我在这里创建了一个简单的游乐场示例-https://play.nativescript.org/?template=play-tsc&id=tq6B2K
此示例中的关键是为您的xml中的每个navigate()
分配一个id
,以便您可以使用Frame
方法在其中找到正确的getFrameById()
层次结构。
此外,请注意,我在带有标签的页面上将Frame
设置为true。如果未设置,则将看到两个嵌套的ActionBar。