home
  • Blog
3.24
  • Introduction
  • Getting Started
  • Tutorial
  • Core Concepts
  • Components
  • Routing
    • Introduction
    • Defining Your Routes
    • Linking Between Routes
    • Specifying a Route's Model
    • Rendering a Template
    • Redirecting
    • Preventing and Retrying Transitions
    • Loading / Error Substates
    • Query Parameters
    • Asynchronous Routing
    • Controllers
  • Services
  • Ember Data
  • In-Depth Topics
  • Application Development
  • Application Concerns
  • Accessibility
  • Configuration
  • Testing
  • Addons and Dependencies
  • Developer Tools
  • Ember Inspector
  • Code Editors
  • Additional Resources
  • Upgrading
  • Contributing to Ember.js
  • Glossary
Old Guides - You are viewing the guides for Ember v3.24.0.
Go to v5.0.0

Introduction

Edit pencil

Imagine we are writing a web app for managing a blog. At any given time, we should be able to answer questions like What post are they looking at? and Are they editing it? In Ember.js, the answer to these questions is determined by the URL.

The URL can be set in a few ways:

  • The user loads the app for the first time.
  • The user changes the URL manually, such as by clicking the back button or by editing the address bar.
  • The user clicks a link within the app.
  • Some other event in the app causes the URL to change.

Regardless of how the URL becomes set, the Ember router then maps the current URL to one or more route handlers. A route handler can do several things:

  • It can render a template.
  • It can load a model that is then available to the template.
  • It can redirect to a new route, such as if the user isn't allowed to visit that part of the app.
  • It can handle actions that involve changing a model or transitioning to a new route.
left arrow
Built-in Components
Defining Your Routes
right arrow
Team Sponsors Security Legal Branding Community Guidelines
Twitter GitHub Discord Mastodon

If you want help you can contact us by email, open an issue, or get realtime help by joining the Ember Discord.

© Copyright 2023 - Tilde Inc.
Ember.js is free, open source and always will be.


Ember is generously supported by
blue