问题主要就是我遇到这么个问题:我通过@Observable定义可观察对象,并且通过环境传参数的形式传入到当前视图层级结构中,希望的就是我能在当前层级结构中随处可以取用值,但是我想使用其进行数据的双向绑定的时候我没办法进行绑定,主要报错如下:
@main
struct MapAppApp: App {
@State private var locationViewModel = LocationViewModel()
var body: some Scene {
WindowGroup {
LocationsView()
.environment(\.locationViewModel, locationViewModel)
}
}
}
主要报错就是
Cannot find '$vm' in scope
解决方案:
需要进行额外的处理,本地创建状态变量,并且同时借助钩子函数onAppear以及onChange监听变化,从而达到对当前视图的数据的双向绑定。
@State private var position: MapCameraPosition = MapCameraPosition.region(.init())
如果不正确的地方欢迎指点...