首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过框架从NativeScript模式打开程序中获取上下文?

如何通过框架从NativeScript模式打开程序中获取上下文?
EN

Stack Overflow用户
提问于 2019-04-12 21:09:34
回答 1查看 430关注 0票数 0

我无法让showModal通过框架将上下文传递到默认页面。此外,当加载模式时,showingModally似乎不会触发(我猜来自showingModally的args应该传递上下文?)。

我已经尝试了在https://docs.nativescript.org/ui/modal-view上的Custom Actionbar下提供的示例,因为我需要在框架中加载模式。模态可以正常打开和关闭,但是模态XML中的showingModally似乎不能运行。

home/home-page.js

代码语言:javascript
复制
const modalView = "home/modal-root";

function openModal(args) {
  console.log('Opens modal');
  const mainpage = args.object.page;
  const context = "some context";
  mainpage.showModal(modalView, context, () => {
    console.log('Modal closed');
  }, true);
}
exports.openModal = openModal;

home/home-page.xml

代码语言:javascript
复制
<Page xmlns="http://www.nativescript.org/tns.xsd">
    <Page.actionBar>
        <ActionBar title="Modal view Navigation" />
    </Page.actionBar>

    <GridLayout rows="auto, *">

        <Button text="Open modal" tap="openModal" textWrap="true" />

    </GridLayout>
</Page>

home/modal root.xml

代码语言:javascript
复制
<Frame defaultPage="home/modal-view-page" />

home/modal view-page.js

代码语言:javascript
复制
function onShowingModally(args) {
    console.log("onShowingModally");
}
exports.onShowingModally = onShowingModally;

function onCloseModal(args) {
    args.object.closeModal();
}
exports.onCloseModal = onCloseModal;

home/modal-view-page.xml

代码语言:javascript
复制
<Page backgroundColor="green" showingModally="onShowingModally">
    <Page.actionBar>
        <ActionBar backgroundColor="red" title="Modal view" icon="">
        </ActionBar>
    </Page.actionBar>
    <StackLayout backgroundColor="lightGreen">
        <Label text="Modal view with ActionBar" style="text-align:center;" textWrap="true" />
        <Button text="Close Modal" tap="onCloseModal" />
    </StackLayout>
</Page>

我已经将这个示例添加到了带有控制台日志的https://play.nativescript.org/?template=play-js&id=lFxTi4&v=9中。

控制台在打开时显示“打开模式”,在关闭时显示“关闭模式”(从home/home-page.js),但控制台中显示"onShowingModally“(home/modal view-PAGE.js)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-13 03:51:31

我认为这些文档需要修复。当您以模式显示Frame时,事件将在Frame上调用,而不是在页面上调用。如果您显示的是一个简单的视图而不是Frame,那么应该在视图上调用事件,基本上无论您的模式的根视图是什么,在您的示例中都是Frame

Updated Playground

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55652349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档