【问题标题】:Nativescript - Lost databinding after app resumeNativescript - 应用恢复后丢失数据绑定
【发布时间】:2016-03-14 13:49:53
【问题描述】:

我有一个使用 TextField 和 Switch 绑定到 ViewModel(继承自 Observable)的 View。

当我更改值时,一切都完美绑定,我可以看到我的新值。

但是,如果我转到主屏幕,然后返回应用程序,值将被删除。

视图是类似于客户 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);
}

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

【问题讨论】:

    标签: nativescript


    【解决方案1】:

    最有可能的是,当您返回应用程序时,loaded 事件会在您构建视图模型的位置触发。您应该尝试构建不同的页面事件(navigatedTo)或使用“应用程序设置”模块保存数据。然后在构建可观察视图模型时从 app-settings 中读取值。希望这会有所帮助。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-23
      • 2015-06-18
      • 2010-10-24
      • 2019-10-07
      • 1970-01-01
      • 2011-09-25
      • 2019-03-28
      相关资源
      最近更新 更多