Dynamic route matching специально разработан для того, чтобы разные маршруты или URL-адреса отображались на один и тот же маршрут или компонент. Следовательно, изменение аргумента технически не считается уходом (или изменением) маршрута, поэтому beforeRouteLeave
по праву не увольняется.
Однако, я предлагаю, чтобы можно было выполнить компонент, соответствующий маршруту, ответственному за обнаружение изменений в аргументе. В принципе, всякий раз, когда изменяется аргумент, записывайте изменение, а затем меняйте его (мы надеемся, что разворот будет достаточно быстрым, чтобы пользователь остался незамеченным), а затем попросите подтверждения. Если пользователь подтверждает это изменение, используйте свою запись для «отмены» изменения, но если пользователь не подтвердит, сохраните все, как есть (не меняйте обратное направление).
Я не проверял это лично, и поэтому я не гарантирую его работу, но, надеюсь, он бы очистил любую путаницу в отношении того, какая часть приложения несет ответственность за проверку того, какие изменения.
Это кажется нерешенным [до] (http://stackoverflow.com/q/39900517/1610034). – Saurabh
Простейшим решением было бы изменить все, что вы хотите, чтобы метод был частью маршрута так/form-path/id – vbranden
@vbranden с первого ответа, к сожалению, похоже, что это не помогло бы ... – Unirgy