Nativescript - 应用程序恢复后丢失的数据绑定

时间:2016-03-14 13:49:54

标签: nativescript

我有一个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);
}

你知道我为什么要丢失表单数据吗?

1 个答案:

答案 0 :(得分:2)

最有可能的是,当您返回应用时,会在构建视图模型的地方触发loaded事件。您应该尝试在不同的页面事件(navigatedTo)中构建,或者使用&#34; application-settings&#34;来保存数据。模块。然后在构建可观察视图模型时从app-settings中读取值。希望这会有所帮助。

https://docs.nativescript.org/ApiReference/application-settings/HOW-TO.html