Я использую дротик 2.0.0
С dart 1.24.3 и связанным угловым маршрутизатором у меня был компонент с CanReuse()
, всегда возвращающим false
. В этом случае, когда я снова перешел к тому же компоненту, был создан новый экземпляр.
При первом вызове был вызван onActivate()
, и при вызове во второй раз был выполнен CanReuse()
и, наконец, был вызван метод onActivate()
для нового экземпляра.
Теперь в последней версии, когда мы во второй раз переходим к одному и тому же компоненту, CanReuse()
и onActivate()
не вызываются, и используется один и тот же экземпляр компонента.
Есть ли способ изменить это поведение?
Редактировать 1:
Представьте, что у вас есть меню, и каждый элемент меню перемещается к компоненту. Если вы нажимаете один и тот же пункт меню, вызывается тот же компонент. В моем случае вызываемый компонент может управлять данными с разных серверов, поэтому у меня может быть несколько активных наборов данных (но показан только один, почти как вкладка ...) одновременно. У меня есть список открытых наборов данных, где перечислены «не показанные», и вы можете выбрать их снова. Существует механизм, который сохраняет данные и повторно инициализирует вновь созданный экземпляр из выбранного.
Теоретически я мог бы управлять всем только в одном случае, но, поскольку логика довольно сложна, я хотел бы избежать этого, и, в любом случае, мне нужно было бы знать, когда компонент элемента меню (новый или инициализируется из существующего набор данных) (с вызовом onActivate()
, например ..).
В настоящее время это работает, только если я выбираю разные компоненты, скажем, например, компонент A, компонент B, а затем снова компонент A.
Если я вызываю компонент A, а затем снова компонент A, метод onActivate()
не вызывается, и я не могу знать, когда требуется другой набор данных.