Reputation: 147
I need to show an alert after a route has been loaded by angularjs. The piece of code to show the alert is in the view loaded asynchronously by angularjs:
<script>
alert('test');
</script>
Once the view has loaded, I expect this to be run, but it does not. I know I can broadcast and tell it to run afterwards etc, but I need a more generic solution.
Upvotes: 8
Views: 7170
Reputation: 27465
There is one more option to run javascript function use ngInit
<div ng-init="initialize()"></div>
call the function which is inside the controller
app.controller('myController', function($scope){
$scope.initialize = function () {
alert("Page loading just completed");
}
});
Upvotes: 5
Reputation: 64883
Assuming you are talking about route changes based upon ngRoute
internal to an angular SPA
Inject $route into your controller:
.controller('MyCtrl', function($scope, $route){});
and in your controller you subscribe to the event of the route changing:
$scope.$on('$routeChangeSuccess', function() {
alert('test'); // <-- alert from the question
});
Upvotes: 22