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

2024-01-07

我正在尝试制作一张卡片并在里面打印一个数据库,但出现错误“致命错误:找不到 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 to it.

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

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

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

请注意,这将also如果您尝试使用,则会出现错误Home在 SwiftUI 预览版中,它没有这个.environmentObject code.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

找不到 CarouselViewModel 类型的 ObservableObject。 CarouselViewModel 的 View.environmentObject(_:) 作为此视图的祖先可能会丢失 的相关文章

随机推荐