Currently I have an Angular.js page that allows searching and displays results. User clicks on a search result, then clicks back button. I want the search results to be displayed again but I can't work out how to trigger the search to execute. Here's the detail:
How do I get the search function to execute again without the user having to press the "search button"? If it was jquery then I would execute a function in the documentready function. I can't see the Angular.js equivalent.
Approach: To share data between the controllers in AngularJS we have two main cases: Share data between parent and child: Here, the sharing of data can be done simply by using controller inheritance as the scope of a child controller inherits from the scope of the parent controller.
With options on page load how you can initialize a select box ? ng-init(in page load) & ng-selected(for select box) will be helpful.
The $ in AngularJs is a built-in object.It contains application data and methods.
On the one hand as @Mark-Rajcok said you can just get away with private inner function:
// at the bottom of your controller var init = function () { // check if there is query in url // and fire search in case its value is not empty }; // and fire it after definition init();
Also you can take a look at ng-init directive. Implementation will be much like:
// register controller in html <div data-ng-controller="myCtrl" data-ng-init="init()"></div> // in controller $scope.init = function () { // check if there is query in url // and fire search in case its value is not empty };
But take care about it as angular documentation implies (since v1.2) to NOT use ng-init
for that. However imo it depends on architecture of your app.
I used ng-init
when I wanted to pass a value from back-end into angular app:
<div data-ng-controller="myCtrl" data-ng-init="init('%some_backend_value%')"></div>
Try this?
$scope.$on('$viewContentLoaded', function() { //call it here });
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With