angularjs - Broadcast event when state loaded and controllers are initiated -
i need broadcast event when state loaded , controllers initiated. i'm using angularjs v1.3.15 , ui-router v0.2.11.
i'm trying use $statechangesuccess
event, controller doesn't grab broadcasted event, because hasn't been iniatated when event broadcasted.
in module run
method have:
$rootscope.$on('$statechangesuccess', function (event) { $rootscope.$broadcast('someevent'); });
my controller has following:
$scope.$on('someevent', function () { $scope.getlist(); });
i tried using $viewcontentloading
, $viewcontentloaded
because have nested controllers/views, fires multiple times, $scope.getlist()
runs multiple times.
any solution problem?
in case there no need put statechange listener. angular ui-router provide feature use case: resolving controller on state change see ui-router on github. further more should use service returning promise, since api call async, , inject service in controller. see "resolve" section on same page answers needs.
Comments
Post a Comment