Comments (4)
That's perfectly right :)
It will be included in 0.8.1 👍
from koin.
Ok. Let me some time to check it 👍
from koin.
In a Fragment (support v4), you can already do getViewModel()
- which uses koin-android-architecture extensions. It is effectively not lazy, and injecting a viewmodel in several fragments is problematic (it can recreate a different instance viewmodel).
Koin must not interfere with Lifecycle architecture and must be kept as an instance factory. To keep things simple, I will provide a lazy way of injecting your ViewModel from fragments/activity.
This will allow injecting the same viewmodel instance between activity and its fragments.
from koin.
What I've started to do in my code with v0.8.0 for lazy creation is to use the following (with same for Fragment
):
inline fun <reified T : ViewModel> FragmentActivity.viewModel(): Lazy<T> {
return lazy { getViewModel<T>() }
}
Then to use in an activity I'm writing private val myViewModel: MyViewModel by viewModel()
from koin.
Related Issues (20)
- Koin 3.5 is not binary-compatible with 3.4 HOT 2
- [koin-android] broken shared view model factory when migrating from 3.5.0 -> 3.5.3 HOT 1
- Compose view model constantly returning new instances with non-root scope HOT 5
- No static method makeOptions$default(Lorg/koin/core/module/Module;ZZILjava/lang/Object;)Lorg/koin/core/definition/Options; in
- KoinAppAlreadyStartedException after changing theme HOT 5
- > Task :composeApp:compileKotlinIosSimulatorArm64 FAILED error: Could not find "org.jetbrains.compose.annotation-internal:annotation" HOT 2
- [koin-android-compose] Broken view model factory when migrating from 3.5.0 -> 3.5.3/3.5.4 HOT 6
- Upgrading Koin `3.5.3` -> `3.5.4` removes dep on `kotlin-test` HOT 1
- No sources published for various modules of Koin 3.5.4 HOT 2
- Support default value in constructor DSL
- Docs what does int mean createdAtStart, to be created at start (or when you want)
- Kotlin Multiplatform ViewModel support in Koin HOT 3
- Missing Source Code HOT 1
- Add Object support for koin annotation.
- Does koin support component lifecycle management?
- Question - activityScope and activityRetainedScope
- ConcurrentModificationException iOS crash on koin 3.5.6
- KoinAppAlreadyStartedException after closing the app and relaunching it quickly
- Support circuit for code gen
- SLF4JLogger is using the wrong level when printing to logger
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from koin.