Coder Social home page Coder Social logo

Comments (7)

christopherthielen avatar christopherthielen commented on April 20, 2024

I think the setTimeout is necessary, so the router instance is constructed when the NgModules are configured. I'll take a look.

from angular.

aitboudad avatar aitboudad commented on April 20, 2024

try moving this part to APP_INITIALIZER

from angular.

christopherthielen avatar christopherthielen commented on April 20, 2024

@aitboudad are you using ui-router with angular universal? I haven't tried yet. Is there anything I should know about how it works or doesn't work?

from angular.

aitboudad avatar aitboudad commented on April 20, 2024

see #43 (comment) let me know if you need a working example.

Note: I prefer waiting until angular/angular#13822 is done

from angular.

aitboudad avatar aitboudad commented on April 20, 2024

I solved the page flicker by using APP_INITIALIZER:

export function onReady($transition: TransitionService) {
    return () => new Promise(resolve => {
        let eventHooks = [];
        ['onSuccess', 'onError'].map(hook => {
            const unsubscriberEventHook = $transition[hook]({}, (transition) => {
                eventHooks.map(unsubscriber => unsubscriber());
                resolve();
            });
            eventHooks.push(unsubscriberEventHook);
        });
    });
}

@NgModule({
    imports: [ ... ],
    providers: [
        {
            'provide': APP_INITIALIZER,
            'useFactory': onReady,
            'deps': [TransitionService],
            'multi': true,
        },
    ],
    bootstrap: [UIView],
})

from angular.

christopherthielen avatar christopherthielen commented on April 20, 2024

@aitboudad did you close this issue because you think it's better to wait for ng 4, or because you solved it manually with ng2? Do you think APP_INITIALIZER is something UI-Router should provide by default? It looks pretty trivial to implement.

from angular.

aitboudad avatar aitboudad commented on April 20, 2024

I think it's better to wait for ng4 :)

from angular.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.