我有我的联系人对象:
struct Contact: Codable, Identifiable {
var id: Int = 0
var name: String
var lastName: String
var phoneNumber: String
}
Run Code Online (Sandbox Code Playgroud)
在我看来,我有一个将从服务器获取的联系人列表。
List {
ForEach(viewModel.contacts) { contact in
ContactView(contact: contact)
}
.onDelete(perform: self.viewModel.delete)
}
Run Code Online (Sandbox Code Playgroud)
当我删除一个联系人时,我会调用我的 viewModel 方法 delete,它只会从数组中删除该项目。但是由于我将向服务器发出删除联系人的请求,因此我想获取有关我要删除的项目的信息,例如 Id。
class ContactsViewModel: ObservableObject {
@Published contacts = [
Contact(id: 1, name: "Name 1", lastName: "Last Name 1", phoneNumber: "613456789"),
Contact(id: 2, name: "Name 2", lastName: "Last Name 2", phoneNumber: "623456789"),
Contact(id: 3, name: "Name 3", lastName: "Last Name 3", phoneNumber: "633456789"), …Run Code Online (Sandbox Code Playgroud) I am very new using Android architecture components, so I decided to base my application using GithubBrowserSample to achieve many of my use cases. But i have the problem that i don´t know what is the correct way to share viewmodels between fragments with this approach.
I want to share the view model because i have a fragment with a viewpager with 2 fragments that need to observe data of the parent fragment view model
I used this before to …
android mvvm kotlin dagger-2 android-architecture-components