I'm having the same issue, and with $location it's happening the same :(. Any ideas
On Friday, February 7, 2014 5:52:01 PM UTC+2, Rob Nikander wrote: > > Hi, > > I've posted some boiled down code, which causes an infinite loop, at the > bottom of this message, and here: > > > http://stackoverflow.com/questions/21631896/why-does-this-angular-ui-router-code-cause-an-infinite-loop-in-digest > > I'm wondering if I used the UI router incorrectly, or if I need to file a > bug. > > thanks, > Rob > > <!doctype html> > <html ng-app='bugapp' ng-controller='BugAppCtrl'> > <head> > <script src='//code.jquery.com/jquery-1.10.1.min.js'></script> > > <!-- Angular 1.2.11 --> > <script src='// > ajax.googleapis.com/ajax/libs/angularjs/1.2.11/angular.js'></script> > <!--<script > src='/rrmembers/static/common/angular/angular.js'></script> --> > > <!-- UI router 0.2.8 --> > <script src='// > cdn.jsdelivr.net/angular.ui-router/0.2.8/angular-ui-router.js'></script> > <!-- <script > src='/rrmembers/static/common/angular/angular-ui-router-0.2.8.js'></script> > --> > > <script> > angular.module('bugapp', ['ui.router']) > .run(function ($rootScope, $state, $stateParams) { > $rootScope.$state = $state; > $rootScope.$stateParams = $stateParams; > }) > .config(function ($locationProvider, $stateProvider, > $urlRouterProvider) { > $locationProvider.html5Mode(false); > > $stateProvider > .state("root", { > abstract: true, > url: "/servletContext?asUser", > template: '<div ui-view></div>' // ??? > }) > .state("root.home", { > abstract: true, > url: "/home", > template: "<div ng-if='hasData()' ui-view ></div>" > > }) > .state("root.home.profile", { > url: "/profile", > template: '<div>whatever</div>' > }) > > }) > .controller('BugAppCtrl', function ($scope, $state, $stateParams, > $log, $location) { > $log.log('BugAppCtrl: constructor 6'); > > $scope.hasData = function() { > var res = !!$scope.foo; > // $log.log("hasData called, returing " + res + " foo is " + > $scope.foo); > return res; > }; > > $scope.$on('$stateChangeSuccess', function () { > $log.log("State changed! (to " + $state.current.name + ")"); > $scope.foo = 'junk'; > $scope.$broadcast("resetfoo"); > }); > > $state.go('root.home.profile'); > }); > </script> > </head> > <body> > <div ui-view></div> > </body> > </html> > -- You received this message because you are subscribed to the Google Groups "AngularJS" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/angular. For more options, visit https://groups.google.com/d/optout.
