---
url: "https://vueda.dev/v3/reference/api/vue/ViewRead.md"
title: "ViewRead"
---

# ViewRead

## Overview

Read-only detail view that fetches and displays a single model instance identified by its
primary key.

Theme entry: [ViewRead](/v3/reference/theming/keys/ViewRead.md)

## Props

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="prop-themeOverride">themeOverride</span> | `Object` |  | `null` | A partial ThemeObject keyed by component name, merged over this component's theme and provided to descendants. |
| <span id="prop-app">app</span> | `string` | yes |  | Django app label that owns the model. |
| <span id="prop-model">model</span> | `string` | yes |  | Django model name used to resolve API endpoints and configuration. |
| <span id="prop-pk">pk</span> | `string` | yes |  | Primary key of the object instance to fetch and display. |
| <span id="prop-primaryActions">primaryActions</span> | `array` |  | `undefined` | Action names promoted to the filled hero CTA in the action bar; defaults to the `update` action. |

## Slots

| Name | Scoped | Description |
| --- | --- | --- |
| `targetless-action-button` | yes |  |
| `extra-buttons` |  | Additional action buttons appended in the page title action area. |
| `action-button` | yes | Override an individual action link button in the sticky bar. |
| `transition-button` | yes | Override an individual workflow transition button in the sticky bar. |
| `record-name` | yes | Override the heading that names the record above the fields; receives `recordName` (the fetched object's formatted name, empty when there is none) and `pending` (true while the name is loading). |

[Full slot reference](/v3/reference/api/vue/ViewRead/slots.md)

## Events

| Name | Description |
| --- | --- |
| `object` |  |
| `loading` |  |
| `related-object` |  |
| `calculated-object` |  |
| `form-object` |  |
| `form-context` |  |

[Full event reference](/v3/reference/api/vue/ViewRead/events.md)

## Source

`client/lib/views/ViewRead.vue`
