【问题标题】:NATIVESCRIPT - Core (JS) - Switching between TabView and BLANK pageNATIVESCRIPT - 核心 (JS) - 在 TabView 和 BLANK 页面之间切换
【发布时间】:2019-08-09 07:18:12
【问题描述】:

我正在开发一个基于 TabViews 的应用程序。但是如果用户没有登录,我想在应用程序启动时显示一个登录屏幕,分别是注销后的登录屏幕。 登录屏幕不应位于 TabView 的框架中。

TabView 在 app-root.xml 中设置。

<TabView loaded="onLoadedTabView" id="tabView" androidTabsPosition="bottom">
    <TabViewItem title="Home">
        <Frame defaultPage="home/home-page"></Frame>
    </TabViewItem>

    <TabViewItem title="Second">
        <Frame defaultPage="second/second-page"></Frame>
    </TabViewItem>

    <TabViewItem title="Third">
        <Frame defaultPage="third/third-page"></Frame>
    </TabViewItem>
</TabView>

我有一个 login-root.xml 来加载登录页面

<Frame defaultPage="login/login-page"></Frame>

app.js 中,我想决定是先启动“app-root”还是“login-root”。

const appSettings = require("application-settings");
let application = require("tns-core-modules/application");


if (typeof appSettings.getString('username') === 'undefined') {
    application.run({ moduleName: "login-root" });
} else {
    application.run({ moduleName: "app-root" });
}

如果我现在首先加载 LOGIN,我会再次使用 application.run({ moduleName: "app-root" }); 运行 TabView。我认为,这不是最好的方法。

如何加载和渲染 TabView?

我有一个 NS-PLAYGROUND 应用程序,希望你能在其中帮助我。我真的很感激一个解决方案:

https://play.nativescript.org/?template=play-js&id=fk1uUx

非常感谢!!!

最好的问候,托比亚斯

【问题讨论】:

    标签: javascript login nativescript core tabview


    【解决方案1】:

    您可以简单地调用application._resetRootView(...) 将根视图替换为 TabView 或根据需要返回登录框架。

    Playground Sample

    另一个选项是创建包含 TabView 的新页面并将页面加载到登录框架中。

    【讨论】:

    • 非常感谢!这对我有帮助!
    猜你喜欢
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    • 2016-08-04
    • 2017-09-27
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多