Хорошая идея - использовать историю для всего, что вы хотите, чтобы пользователь мог перемещаться назад и вперед с помощью кнопок браузера «назад» и «вперед». Хорошим примером может служить перемещение между отдельными записями. Возможно, вы захотите позволить им изучить три записи, а затем переместиться назад по ним.
Однако для некоторых событий этого будет недостаточно. Произведите некоторые изменения данных, и вы хотите, чтобы все ваши различные дисплеи обновлялись сами, даже если вы все еще смотрите на i_123
. В этот момент вы можете захотеть отправить что-то вроде RefreshEvent
(которое вы создадите) через свою шину событий.
К счастью, вы можете использовать ту же самую шину событий, которую вы слушаете, для событий истории, чтобы прослушивать события, которые вы решили добавить позже! Поэтому, когда вы начинаете, я рекомендую * прослушивать исторические события как средство внутрипрограммного общения, а затем добавлять больше событий по мере необходимости. Просто убедитесь, что вы не начинаете использовать историю для вещей, не связанных с навигацией.
* PS: классы GWT Activity
и Place
созданы для обеспечения уровня гибкости между вашей историей и вашим кодом, и имеют некоторые большие преимущества, такие как централизованное сопоставление / анализ URL (так что вам не нужно идти вокруг изменения каждого докладчика, когда вы хотите изменить схему URL) и автоматического "вы действительно хотите уйти?" Подтверждения. Если у вас есть время, прежде чем вы действительно начнете, я рекомендую использовать Activity
и Place
с самого начала вместо непосредственного прослушивания событий истории.