warframe traduccion start quick guide examples emberjs ember docs cli javascript ember.js ember-cli

javascript - traduccion - Ember.js-Estados de error en la estructura de Pod



ember warframe (3)

Aquí está mi estructura dentro de àpp/pods :

|-application |-index |-error |-user ||-index ||-view ||-edit

Cuando se produce un error, Ember no carga la ruta de error . En su lugar, intenta cargar una index_error como index_error o user_error pero estos no existen.

¿Cómo obligo a Ember a cargar la ruta de error raíz en cualquier error?

Ember v2.1 Ember-Cli v1.13.8


La estructura que proporcionaste debería hacer exactamente lo que estás describiendo.

Eche un vistazo a este twiddle para ver un ejemplo. Al hacer clic en "Ver usuario" se realizará la transición a la ruta user.view , pero al hacer clic en "Editar usuario" se generará una excepción en la ruta user.edit y en su lugar se user.edit ruta de error .

Una cosa a tener en cuenta es que no debe agregar la ruta de error usted mismo en el router.js . Recibe el error de transición como su modelo, por lo que si haces esto manualmente. this.route(''error'') y no le das un segmento dinámico, la transición fallará.

Si desea más control sobre lo que sucede exactamente cuando ocurre un error durante cualquier transición, puede implementar la acción de error en su ruta de aplicación.

actions: { error(thrownError) { this.transitionTo(''my-error-route''); // Or whatever other handling you want } }

Puedes ver un ejemplo completo de tal arreglo en este sentido . Tenga en cuenta que esto es sutilmente diferente del comportamiento de error predeterminado, ya que producirá una transición completa (es decir, la URL se actualizará) en lugar de simplemente pasar a un subestado.


Logré mostrar una ruta de error dentro de una estructura de pod como la siguiente:

-app --pods ----something ------template.hbs ------route.js ----error ------template.hbs

Si tiro un error en algo / route.js como el siguiente:

export default Ember.Route.extend({ model() { throw new Error(''AAA''); } });

Y tenga el error/template.hbs con el contenido:

Arrrh, errror!!!!

Muestra el mensaje de error.

Si quería una sub ruta de error para something , creo que necesitaría lo siguiente:

-app --pods ----something ------template.hbs ------route.js ------error --------template.hbs ----error ------template.hbs