我試圖了解當頁面從 Web API 獲取其初始資料時在 Xamarin Forms 中使用的模式。
該頁面系結到一個ViewModel. 讓我們使用這個簡單的例子:
public class DataFeedViewModel : BaseViewModel
{
public DateFeedViewModel()
{
Title = "My Feed";
}
public List<FeedItem> Feed { get; set; }
}
DataFeedViewModel系結到頁面:
public MainPage()
{
InitializeComponent();
this.BindingContext = new DataFeedViewModel();
}
據我了解,我使用該OnAppearing()方法從后端 API 獲取我的初始資料集:
protected override async void OnAppearing()
{
base.OnAppearing();
var result = await _myApiService.GetFeed();
// What's next? Do I simply do the following?
// new DataFeedViewModel
// {
// Feed = result
// }
}
第二個但非常重要的問題是這種模式是否是推薦的方法。
當我了解 Xamarin 和 .NET Maui 時,我明白,趨勢是從事件驅動模型轉向更多MVVM命令驅動的方法。
我對如何使用 aViewModel來利用這些生命周期方法(例如OnAppearing().
uj5u.com熱心網友回復:
Init在你的虛擬機上創建一個方法
public class DataFeedViewModel : BaseViewModel
{
public DateFeedViewModel()
{
Title = "My Feed";
}
public List<FeedItem> Feed { get; set; }
public async void Init()
{
Feed = await _myApiService.GetFeed();
}
}
然后讓你的頁面呼叫它
private DataFeedViewModel VM { get; set; }
public MainPage()
{
InitializeComponent();
this.BindingContext = VM = new DataFeedViewModel();
}
protected override async void OnAppearing()
{
base.OnAppearing();
await VM.Init();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/433183.html
上一篇:c中的qsort型別轉換指標
下一篇:NFC標簽防止復制NTag21x
