找不到类型为 CarouselViewModel 的 ObservableObject。作为此视图的祖先,CarouselViewModel 的 View.environmentObject(_:) 可能缺失

No ObservableObject of type CarouselViewModel found. A View.environmentObject(_:) for CarouselViewModel may be missing as an ancestor of this view

我正在尝试制作一张卡片并在其中打印一个数据库,但我收到错误“致命错误:未找到 CarouselViewModel 类型的 ObservableObject。CarouselViewModel 的 View.environmentObject(_:) 可能会丢失,因为这种观点的始祖。”这是代码:

错误的结构开始:

struct Home: View {
    @EnvironmentObject var model: CarouselViewModel
    @ObservedObject private var viewModel = NewsViewModel()
    @State private var isModalOpen: Bool = false
    @Namespace var animation
    var body: some View {

错误代码:

ZStack{
                    ForEach(model.cards.indices.reversed(),id: \.self){index in
                        HStack {
                            CardView(card: model.cards[index], animation: animation)
                                .frame(width: getCardWidth(index: index), height: getCardHeight(index: index))
                                .offset(x: getCardOffset(index: index))
                                .rotationEffect(.init(degrees: getCardRotation(index: index)))
                            Spacer(minLength: 0)
                        }
                        .frame(height: 400)
                        .contentShape(Rectangle())
                        .offset(x: model.cards[index].offset)
                        .gesture(DragGesture(minimumDistance: 0)
                                    .onChanged({ (value) in
                                        onChanged(value: value, index: index)
                                    }).onEnded({ (value) in
                                        onEnd(value: value, index: index)
                                    }))
                    }
                }
                .padding(.top,25)
                .padding(.horizontal,30)
```
Thanks for help 

无论在何处实例化 Home 视图,都必须添加一个 .environmentObject 修饰符,将 CarouselViewModel 的实例传递给它。

我不知道您的确切代码是什么样的(或者 CarouselViewModel 将什么作为参数),但它看起来像:

//somewhere in the parent view:
@StateObject private var model = CarouselViewModel() //if iOS 13, use @ObservedObject

//where you instantiate `Home`:
Home().environmentObject(model)

请注意,如果您尝试在 SwiftUI 预览中使用 Home 并且它没有此 .environmentObject 代码,这将 是一个错误.