【发布时间】:2019-02-06 16:49:07
【问题描述】:
当 TabView 用作框架项目的主导航时,我需要本地化 TabViewItem title(使用 Nativescript Sidekick -> General -> TypeScript -> Tab Navigation 生成的应用程序)。
对于本地化,我使用nativescript-localize 插件,在app.ts 中进行下一次初始化以用于模板:
import * as app from "tns-core-modules/application";
import { localize } from "nativescript-localize";
app.getResources().L = localize;
app.run({ moduleName: "app-root" });
而app-root.xml 有下一个内容:
<TabView androidTabsPosition="bottom">
<TabViewItem title="{{ L('catalog') }}">
<Frame defaultPage="pages/catalog/catalog-page"></Frame>
</TabViewItem>
<TabViewItem title="{{ L('notifications') }}">
<Frame defaultPage="pages/notifications/notifications-page"></Frame>
</TabViewItem>
</TabView>
如果我在最终页面中使用下一个构造 {{ L('catalog') }} 并初始化 bindingContext,那么一切都会按预期工作。但在顶级 TabView 中,这种构造不起作用。我认为是因为没有初始化bindingContext,但是我如何为顶级TabView初始化它。
为了测试和原型设计,我创建了 Playground - top level TabView。在这个 Playground 而不是 nativescript-localize 插件中,我使用了返回文本的函数,你可以看到它在 home-page.xml 中成功执行,但在 app-root.xml 中没有执行。
【问题讨论】:
标签: nativescript