我有一个View绑定到ViewModel(继承自Observable),带有TextField和Switch。
当我更改值时,所有值都完美绑定,我可以看到我的新值。
但是,如果我转到主屏幕,然后返回应用程序,则值将被删除。
视图是客户CRUD的基本形式。
这是XML:
<Page xmlns="http://schemas.nativescript.org/tns.xsd"
loaded="loaded">
<!-- ... -->
<TextView text="{{ valueA }}" />
<!-- ... -->
<Slider value="{{ valueB }}" minValue="1950" maxValue="2016" />
</Page
以下是代码隐藏:
let viewModel: ViewModel;
let page: Page;
export function loaded(args: EventData) {
page = <Page>args.object;
setTimeout(function() {
viewModel = new ViewModel();
page.bindingContext = viewModel;
}, 0);
}
你知道我为什么要丢失表单数据吗?
答案 0 :(得分:2)
最有可能的是,当您返回应用时,会在构建视图模型的地方触发loaded
事件。您应该尝试在不同的页面事件(navigatedTo)中构建,或者使用&#34; application-settings&#34;来保存数据。模块。然后在构建可观察视图模型时从app-settings中读取值。希望这会有所帮助。
https://docs.nativescript.org/ApiReference/application-settings/HOW-TO.html