Giter Site home page Giter Site logo

Comments (3)

CKGrafico avatar CKGrafico commented on May 23, 2024 1

Hello and thanks for your question, if you want to pass the same baseUrl to all the instances of your service I think the good practise (in inversify) is to use a Factory https://github.com/inversify/InversifyJS/blob/master/wiki/factory_injection.md

If you want to have different baseUrl for each instance I usually create another method instead of passing to the constructor.

Please confirm, that this helped you and have a nice day.

from inversify-props.

amura11 avatar amura11 commented on May 23, 2024

Would it be possible to extend the container with something like:

class CustomContainer extends Container {
    public addDynamicTransient<T>(constructor: Constructor<T>, func: () => T): interfaces.BindingWhenOnSyntax<T> {
        const id = generateIdAndAddToCache(constructor);
        this.decorateCatchable(injectable(), constructor);

        return super.bind<T>(id).toDynamicValue(func).inTransientScope();
    }
}

const container = new CustomContainer();

container.addDynamicTransient<IMyService>(MyService, () => new MyService("BaseUrl"));

I tried exactly this but I get an error that no bindings were found

from inversify-props.

CKGrafico avatar CKGrafico commented on May 23, 2024

Why are you extending the container and not using as factory?

from inversify-props.

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.