Wpis z mikrobloga

#angularjs
Cześć programirki, tworzę własny projekt w Angularze i nie wiem jak obejść się z jednym problemem.

Używam Angular Ui Router w moim projekcie, i chcę użyć routera z parametrami by mieć stronę (ui-view) z wyszukiwaniem wyników, dajmy na to: example.com/search?query=aardvark, gdzie query to moje zapytanie. Controller używa $stateParams żeby uzyskać 'query'.

Jednocześnie gdzie indziej chcę mieć link/przycisk, którym chciałbym przywoływać ten sam ui-view, w ten sposób że gdy go wywołam, to otwiera to stronę z ostatnim wyszukiwaniem, bez zbędnego przeładowywania tego wyszukiwania.

Wymyśliłem, że potrzebuję controllera który zachowuje jakoś wcześniejszy stateParam gdy 'query' jest puste, ale wydaje mi się że powinien być jakiś mądrzejszy sposób który lepiej oddziela prezentację od logiki aplikacji.

Jesteście w stanie wymyślić jakiś lepszy sposób, by uzyskać takie zachowanie? Dzięki!
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

to otwiera to stronę z ostatnim wyszukiwaniem, bez zbędnego przeładowywania tego wyszukiwania.


@qbol1234: co to znaczy bez przeładowywania tego wyszukiwania ? że nie robi zapytania/nie odświeża listy ? no to musiałbys zapamiętać cały wynik tego query, sprecyzuj o co chodzi, czy chcesz zapamiętywać tylko to co było w ostatnim query, czy cały wynik, ale ogółem to zapisać sobie obie wartości, w jakimś localStorage albo serwisie/factory, $rootScope albo app.value , query przekazać
  • Odpowiedz