mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
* chore: move tns-core-modules to nativescript-core * chore: preparing compat generate script * chore: add missing definitions * chore: no need for http-request to be private * chore: packages chore * test: generate tests for tns-core-modules * chore: add anroid module for consistency * chore: add .npmignore * chore: added privateModulesWhitelist * chore(webpack): added bundle-entry-points * chore: scripts * chore: tests changed to use @ns/core * test: add scoped-packages test project * test: fix types * test: update test project * chore: build scripts * chore: update build script * chore: npm scripts cleanup * chore: make the compat pgk work with old wp config * test: generate diff friendly tests * chore: create barrel exports * chore: move files after rebase * chore: typedoc config * chore: compat mode * chore: review of barrels * chore: remove tns-core-modules import after rebase * chore: dev workflow setup * chore: update developer-workflow * docs: experiment with API extractor * chore: api-extractor and barrel exports * chore: api-extractor configs * chore: generate d.ts rollup with api-extractor * refactor: move methods inside Frame * chore: fic tests to use Frame static methods * refactor: create Builder class * refactor: use Builder class in tests * refactor: include Style in ui barrel * chore: separate compat build script * chore: fix tslint errors * chore: update NATIVESCRIPT_CORE_ARGS * chore: fix compat pack * chore: fix ui-test-app build with linked modules * chore: Application, ApplicationSettings, Connectivity and Http * chore: export Trace, Profiling and Utils * refactor: Static create methods for ImageSource * chore: fix deprecated usages of ImageSource * chore: move Span and FormattedString to ui * chore: add events-args and ImageSource to index files * chore: check for CLI >= 6.2 when building for IOS * chore: update travis build * chore: copy Pod file to compat package * chore: update error msg ui-tests-app * refactor: Apply suggestions from code review Co-Authored-By: Martin Yankov <m.i.yankov@gmail.com> * chore: typings and refs * chore: add missing d.ts files for public API * chore: adress code review FB * chore: update api-report * chore: dev-workflow for other apps * chore: api update * chore: update api-report
53 lines
1.8 KiB
Markdown
53 lines
1.8 KiB
Markdown
---
|
|
nav-title: "frame How-To"
|
|
title: "frame"
|
|
environment: nativescript
|
|
description: "Examples for using frame"
|
|
previous_url: /ApiReference/ui/frame/HOW-TO
|
|
---
|
|
# Frame
|
|
To perform navigation, you will need a reference to the topmost frame of the application.
|
|
{%snippet frame-require%}
|
|
|
|
### Navigating to a Module
|
|
{%snippet frame-navigating%}
|
|
|
|
### Navigating with a Factory Function
|
|
{%snippet frame-factory-func%}
|
|
|
|
### Navigating with NavigationEntry
|
|
{%snippet frame-naventry%}
|
|
|
|
### Navigating Back
|
|
{%snippet frame-back%}
|
|
|
|
### Back Navigation with BackstackEntry
|
|
Using the `BackstackEntry` allows us to navigate back to a specific page.
|
|
|
|
```XML
|
|
<Page xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="navigatingTo" class="page">
|
|
|
|
<Page.actionBar>
|
|
<ActionBar title="Page 5" icon="" class="action-bar">
|
|
</ActionBar>
|
|
</Page.actionBar>
|
|
|
|
<StackLayout class="p-20">
|
|
<Label text="Page 5" class="h1 text-center"/>
|
|
<Button text="back to the first page" tap="onTap" class="btn btn-primary btn-active"/>
|
|
</StackLayout>
|
|
</Page>
|
|
```
|
|
```TypeScript
|
|
import {BackstackEntry, Frame} from "ui/frame"
|
|
|
|
export function backNavigation(args){
|
|
const backstackEntryFirstPage = args.object.page.frame.backStack[0];
|
|
const frame = args.object.page.frame;
|
|
frame.goBack(backstackEntryFirstPage);
|
|
}
|
|
```
|
|
With the help of the Frame we access the page's BackstackEntry by providing the the sequence number - `backStack[<page number>]`. In the example above we will navigate back to the initial page and to do that we need to take the first BackstackEntry as follow: `Frame.topmost().backStack[0]`
|
|
|
|
> NB: We start counting the pages from 0. If we need to take the entry for the first page we need to take the it while using the 0 index, for the second 1 index, etc.
|