Nativescript 打开应用程序时出现超过最大调用堆栈大小的错误
在我的一个选项卡中,我有一个“注销”按钮Nativescript 打开应用程序时出现超过最大调用堆栈大小的错误,nativescript,Nativescript,在我的一个选项卡中,我有一个“注销”按钮 var application = require("application"); application.run({ moduleName: "app-login" }); 然而,我得到: RangeError:超出了最大调用堆栈大小 当代码被执行时。最终,当用户需要全屏(即不在选项卡内)注销时,我会尝试返回登录屏幕。应用程序的体系结构类似于选项卡视图模板示例,每个选项卡都有框架 非常感谢任何帮助 我可能误解了您的架构,但我不认为调用引导函数appl
var application = require("application");
application.run({ moduleName: "app-login" });
然而,我得到:
RangeError:超出了最大调用堆栈大小
当代码被执行时。最终,当用户需要全屏(即不在选项卡内)注销时,我会尝试返回登录屏幕。应用程序的体系结构类似于选项卡视图模板
示例,每个选项卡都有框架
非常感谢任何帮助 我可能误解了您的架构,但我不认为调用引导函数
application.run({moduleName:“app login”})代码>在应用程序的生命周期中多次是有效的,因为应用程序已经在运行(无论它在哪个屏幕上)。实际上,应用程序。run()
是引导应用程序的方法。你不应该叫它两次
嵌套框架功能没有得到官方支持,也没有文档记录,但可以在NativeScript core中使用。它尚未正式发布的原因是由于ActionBars等的一些意想不到的副作用。在您的场景中,您只需获得正确的帧
,并在其上调用navigate()
。我在这里创建了一个简单的游乐场示例-
本例中的关键是为xml中的每个Frame
分配id
,以便可以使用getFrameById()
方法在层次结构中找到正确的Frame
另外,请注意,我在带有选项卡的页面上将actionBarHidden
设置为true。如果未设置此选项,您将看到两个嵌套的ActionBar。这意味着在代码中的某个地方,您正在调用一个函数,该函数反过来调用另一个函数,依此类推,直到达到调用堆栈限制。请参阅,那么,建议使用什么架构来设置登录屏幕,并在使用选项卡视图时返回到该屏幕?@ChrisBekas我强烈建议您使用Angular。您可以将应用程序路径映射到登录屏幕。然后,您就可以导航到该路径了。@SebastianDuque很遗憾,我使用的是Nativescript核心。所以你可以在Angular中这样做,但不能在nativescript核心中这样做?谢谢谢谢你的操场,马丁,太棒了!期待着这一点被正式添加。