Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nativescript 打开应用程序时出现超过最大调用堆栈大小的错误_Nativescript - Fatal编程技术网

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核心中这样做?谢谢谢谢你的操场,马丁,太棒了!期待着这一点被正式添加。