home
  • Blog
3.1
  • Getting Started
  • Tutorial
  • The Object Model
  • Routing
    • Introduction
    • Defining Your Routes
    • Specifying a Route's Model
    • Rendering a Template
    • Redirecting
    • Preventing and Retrying Transitions
    • Loading / Error Substates
    • Query Parameters
    • Asynchronous Routing
  • Templates
  • Components
  • Controllers
  • Models
  • Application Concerns
  • Testing
  • Ember Inspector
  • Addons and Dependencies
  • Configuring Ember.js
  • Contributing to Ember.js
  • Glossary
Old Guides - You are viewing the guides for Ember v3.1.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
Enumerables
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