---
title: NavigationDocument
framework: tvmljs
role: symbol
role_heading: Class
path: tvmljs/navigationdocument
---

# NavigationDocument

A document stack that holds the individual TVML documents for a client-server app.

## Declaration

```data
interface NavigationDocument
```

## Overview

Overview You cannot create an instance of the NavigationDocument class. An instance of this class is available in the global context as navigationDocument.

## Topics

### Adding Documents to the Stack

- [insertBeforeDocument](tvmljs/navigationdocument/1627340-insertbeforedocument.md)
- [pushDocument](tvmljs/navigationdocument/1627361-pushdocument.md)
- [replaceDocument](tvmljs/navigationdocument/1627430-replacedocument.md)

### Overlaying Document

- [dismissModal](tvmljs/navigationdocument/1627446-dismissmodal.md)
- [presentModal](tvmljs/navigationdocument/1627311-presentmodal.md)

### Viewing the Stack

- [documents](tvmljs/navigationdocument/1627303-documents.md)

### Removing Documents from the Stack

- [clear](tvmljs/navigationdocument/1627312-clear.md)
- [popDocument](tvmljs/navigationdocument/1627397-popdocument.md)
- [popToDocument](tvmljs/navigationdocument/1627420-poptodocument.md)
- [popToRootDocument](tvmljs/navigationdocument/1627382-poptorootdocument.md)
- [removeDocument](tvmljs/navigationdocument/1627394-removedocument.md)

## See Also

### App Initialization

- [App](tvmljs/app.md)
- [UserDefaults](tvmljs/userdefaults.md)
- [Responding to User Interaction](tvmljs/responding_to_user_interaction.md)
- [EventListenerObject](tvmljs/eventlistenerobject.md)
