Giter Site home page Giter Site logo

Comments (2)

edodso2 avatar edodso2 commented on August 20, 2024 1

I appreciate the reply. I should have spent more time reading the source code. The User and Products model I came up with for the sake of this example but I could see that the pattern would be to provide the User model at the root of the app (assuming all the child widgets need it) then provide the Products model further down the widget tree where it is needed.

I have a lot of refactoring to do but I am confident about this approach now.

from scoped_model.

brianegan avatar brianegan commented on August 20, 2024

Hey there -- since the Model class implements the Listenable interface from Flutter, which defines notifyListeners as a method that accepts no parameters, I'm not sure we can support this.

That said, I'm actually wondering: What's the benefit of combining the two models into one MainModel? If they were separate models, you would't have to worry about this particular challenge. Furthermore, if the UI only depends on the UserModel, you wouldn't want it to rebuild when the ProductsModel changes. Therefore, to solve that problem, this type of conditional logic would start to pop up more and more. In my opinion, it's just a bit simpler to keep the two Models properly separated.

If you need to access data from both models in your UI layer, you can still do that in your build methods by using a ScopedModelDescendant Widgets or the ScopedModel.of method.

Sure, you might need an extra ScopedModel Widget or two in your tree, but I think it makes almost everything else easier.

from scoped_model.

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.