Ember.js: El enrutador `transición.retry` con segmentos dinámicos y` refreshModel` queryParams causa un error inesperado

Creado en 19 sept. 2018  ·  3Comentarios  ·  Fuente: emberjs/ember.js

Parece relacionado con # 10945.

Mi caso de uso es: cuando un usuario intenta navegar con un token caducado (dejando la ventana abierta el tiempo suficiente), las llamadas a la API fallarán con un error no autorizado. Agregamos algo de lógica a la acción de error de las Aplicaciones para detectar este tipo de error, volver a autenticar al usuario y reintentar la transición después de la autenticación. El problema es que cuando intento transition.retry() a una ruta con segmentos dinámicos y parámetros de consulta con refreshModel , fallará con el siguiente error:

You didn't provide enough string/numeric parameters to satisfy all of the dynamic segments for route [route name]

Si configuro mi parámetro de consulta en refreshModel: false , funciona bien.

Aquí hay un twiddle reproducible: https://ember-twiddle.com/e25fc434b6e1c1627e553b8120203655?openFiles=routes.dynamic-segment.js%2C
Puede ver el error al hacer clic en el enlace 'Segmento dinámico con parámetro de consulta'. Si cambia refreshModel a false en /routes/dynamic-segment.js, funciona.

Se agradece cualquier ayuda. ¡Gracias!

Has Reproduction Router Bugs

Comentario más útil

@krukid : el problema que mencionas parece no tener relación con el original que se está discutiendo aquí (creo). ¿Le importaría presentar un nuevo número por eso?

@rreckonerr recientemente corrigió un error algo relacionado (donde no íbamos a pasar por los valores originales al hacer transiciones intermedias), esto parece algo relacionado. Creo que el primer paso aquí sería hacer un caso de prueba fallido en router.js ...

Todos 3 comentarios

Estoy experimentando algo similar al intentar transition.retry() una Transición que se desencadenó por una Route.refresh() donde queryParamsOnly: true

Supongo que esto está relacionado de alguna manera con # 16921

Encuentro que Route#refresh() produce una transición que no se puede reintentar si hay segmentos dinámicos.

Aquí está mi caso de uso: https://ember-twiddle.com/6d2f981f6628a3260db8cafd3b3aac0a?openFiles=routes.flopping-route%5C.js%2C

@krukid : el problema que mencionas parece no tener relación con el original que se está discutiendo aquí (creo). ¿Le importaría presentar un nuevo número por eso?

@rreckonerr recientemente corrigió un error algo relacionado (donde no íbamos a pasar por los valores originales al hacer transiciones intermedias), esto parece algo relacionado. Creo que el primer paso aquí sería hacer un caso de prueba fallido en router.js ...

¿Fue útil esta página
0 / 5 - 0 calificaciones