Как да изпълня функцията на контролера AngularJS при зареждане на страницата?
В момента имам Angular.js страница, която позволява търсене и показва резултати. Потребителят щраква върху резултат от търсенето, след което щраква върху бутона за връщане. Искам резултатите от търсенето да се покажат отново, но не мога да разбера как да задействам изпълнението на търсенето. Ето каква е подробността:
- Моята Angular.js страница е страница за търсене, с поле за търсене и бутон. Потребителят може ръчно да въведе заявка и да натисне бутона и и се задейства ajax заявка и се показват резултатите. Актуализирам URL адреса с термина за търсене. Всичко това работи добре.
- Потребителят щраква върху резултата от търсенето и е отведен на друга страница - това също работи добре.
- Потребителят щраква върху бутона за връщане и се връща на моята angular страница за търсене и се показва правилният URL адрес, включително и терминът за търсене. Всичко работи добре.
- Свързал съм стойността на полето за търсене с термина за търсене в URL адреса, така че той съдържа очаквания термин за търсене. Всичко работи добре.
Как да накарам функцията за търсене да се изпълни отново, без да се налага потребителят да натиска "бутона за търсене"? Ако това беше jquery, тогава щях да изпълня функция във функцията documentready. Не виждам еквивалента на Angular.js.
355
3
От една страна, както каза @Mark-Rajcok, можете просто да се измъкнете с частна вътрешна функция:
Също така можете да разгледате директивата ng-init. Изпълнението ще бъде подобно на:
Но внимавайте за това, тъй като документацията на angular предполага (от версия 1.2) да НЕ използвате
ng-init
за това. Все пак, според мен, това зависи от архитектурата на вашето приложение.Аз използвах
ng-init
, когато исках да предам стойност от back-end в angular приложението:Опитайте това?
Можете да направите това, ако искате да наблюдавате промяната на DOM обекта viewContentLoaded и след това да направите нещо.Използването на $scope.$on също работи, но по различен начин, особено когато имате режим на една страница при маршрутизацията.