userapp-io / userapp-angular

AngularJS module that adds user authentication to your app with UserApp.
https://userapp.io
MIT License
233 stars 84 forks source link

Templates don't load when 'resolve' is present #14

Open techguydave opened 10 years ago

techguydave commented 10 years ago

I have a few ui-router states that use promises inside of resolves to wait on an API.

.state('videosDetails', {
  url: '..',
  templateUrl: '...',
  resolve: {
    videoPromise: function(Restangular, $stateParams){
      ...
    }
  },
  controller: '...'
})

With the userapp module initiated in the run() block, though, any state with a resolve doesn't load properly. I can tell that the promises are being hit, because my API server responds to the requests. The template doesn't seem to load, though.

I thought it was just the promises causing an issue, but even using empty resolves like your documentation states creates the same issue. When commenting out the user.init({ appId: '...' }); part (yet still leaving the UserApp module declaration), everything works again.

I get no errors in the console.

timothyej commented 10 years ago

Can you see if any API calls are made to UserApp? And what version of Angular and ui-router are you using?

techguydave commented 10 years ago

It looks like an API call is not made to UserApp.

Angular 1.2.23 ui-router 0.2.10

techguydave commented 10 years ago

For now I'm just using promises in the controllers as a workaround, but I'd really like to use resolves for some of the pages. Let me know if you need me to help test something out.

joerozek commented 9 years ago

I ran into this issues as well. Here is a PR https://github.com/userapp-io/userapp-angular/pull/15 that should fix the issue.

Alternatively a workaround is to also define public right on the state.

.state('mystate', {
    url: '/start',
    templateUrl: 'templates/my-start.html',
    controller: 'StateCtrl',
    data: {
      public: true
    },
    public: true
});