2012-04-14 13 views
7

Tengo dificultades para encontrar buenos ejemplos de enrutamiento de Ember.js.Encaminamiento de Ember.js

¿Debo usar un complemento como this o personalmente me gusta el aspecto de this?

Veo que hay una colección de rutas como parte del objeto State pero no encuentro ejemplos de cómo usarla.

Respuesta

1

Editar: Debido a los cambios significativos en el enrutador Ember.js, esta respuesta es obsoleta ya que alrededor de la 1.0 PRE-RELEASE. Las versiones MOdern de ember.js deberían ser use the standard routing guidelines

Supongo que esto es (al menos por ahora) muy personal. Me gusta ghempton's ember-routemanager. Si necesita ayuda, podría ayudarlo. Junto con su paquete de diseño de brasas también funcionan bien juntos.

http://codebrief.com/2012/02/anatomy-of-a-complex-ember-js-app-part-i-states-and-routes/

+0

He ido con ember-routemanager y layoutmanager. Me gusta la forma en que juegan juntos. Voy a proporcionar parches si se rompe algo. – dagda1

+4

Por lo que pude ver, esta técnica ya no funciona con ember.js 0.9.8.1, que incluye el enrutamiento nativo. Consulte la respuesta de pangrantz a continuación para la * * * oficial * * * solución;) – jskulski

+0

Sí, definitivamente, este es el correcto En este momento, cuando escribí esta respuesta, no estaba disponible. – Luan

3

utilizo en mis aplicaciones sproutcore-routing porque:

Para la documentación echar un vistazo a la spoutcore-routing tests

+0

No estoy tan seguro, el espacio de nombres SC se eliminó en Ember 0.9.6. Esto significa que ya no juegan bien juntos y es parte del movimiento general de Sproutcore. IMO debo enfatizar. Podría alias el espacio de nombres, pero me pregunto si uno de los proyectos más nuevos no sería mejor. Originalmente iba a utilizar sproutcore-routing hasta el 0.9.6 – dagda1

21

enrutamiento Recientemente se ha puesto a disposición en el núcleo Ember.js, ver Tom Dale blog post.

Desarrollador principal Yehuda Katz escribió un gist sobre el uso de la nueva función de enrutamiento. Es una buena lectura, y además del enrutamiento también indica cómo se puede integrar con los controladores.

para obtener la idea básica, aquí hay un ejemplo de código tomado de la esencia:

App.Router = Ember.Router.extend({ 
    root: Ember.State.extend({ 
    index: Ember.State.extend({ 
     route: '/', 
     redirectsTo: 'calendar.index' 
    }), 

    calendar: Ember.State.extend({ 
     route: '/calendar', 

     index: Ember.State.extend({ 
     route: '/' 
     }), 

     preferences: Ember.State.extend({ 
     route: '/preferences' 
     }) 
    }), 

    mail: Ember.State.extend({ 
     route: '/mail', 

     index: Ember.State.extend({ 
     route: '/' 
     }), 

     preferences: Ember.State.extend({ 
     route: '/preferences' 
     }) 
    }) 
    }) 
}); 

// If the user navigates to the page with the URL 
// www.myapp.com/, you will start in the root.calendar.index state. 
// The redirection to the calendar.index state will cause the URL 
// to be updated to www.myapp.com/calendar 

router.transitionTo('preferences'); 

// URL => www.myapp.com/calendar/preferences 

router.transitionTo('mail.preferences'); 

// URL => www.myapp.com/mail/preferences 

router.transitionTo('index'); 

// URL => www.myapp.com/mail 
3

os recomiendo esta guía en el sitio brasa: http://emberjs.com/guides/router_primer/

Creo que este contenido es muy nuevo-- Ciertamente no me di cuenta hace un par de semanas cuando empecé a tratar de entender el enrutamiento de Ember.

3

El enrutamiento de Ember cambió completamente en Navidad. Publicaron algunos documentos nuevos para ayudar, pero eliminaron todos los tutoriales anteriores. Supongo que las viejas formas de hacer las cosas (en las respuestas anteriores) quedarán obsoletas. http://emberjs.com/guides/routing/