I have a view called PurchaseView
. This view displays details about the purchase, what was purchased and who purchased it. What I'm doing is that in this view im putting both the ItemView
and ClientView
inside PurchaseView
. ItemView
and ClientView
are shared and there are used in other parts of my app. They have their own ViewModels.
I have also tried to put ItemViewModel
and ClientViewModel
inside PurchaseViewModel
but I do not know if it is ok to put an ObservableObject
inside another ObservableObject
. Is this a good approach or there should not be any ObservableObject
inside an ObservableObject
? Which one of the following is better?
This?
class PurchaseViewModel: ObservableObject {
let clientViewModel: ClientViewModel
let itemsViewModel: ItemViewModel
//
}
Or this?
struct PurchaseView: View {
@ObservedObject var purchaseViewModel: PurchaseViewModel
@ObservedObject var itemViewModel: ItemViewModel
@ObservedObject var clientViewModel: ClientViewModel
var body: some View {
//
}
}
Purchase model:
class Purchase {
let id: String
let total: Double
// ...
var item: Item?
var client: Client?
}