在我的项目中,我使用了一个注册数据的组件。在此组件中,我想将所有输入的数据注册到本地存储中,并且只想在Webservice中发布3个参数。所以我只想使用一个组件和[formGroup]。
在这个Demo中,我有项目。
this.ConfigurationForm = this.formBuilder.group({
ipaddwifi: new FormControl("", [Validators.required]),
wifi: new FormControl("", [Validators.required]),
pass: new FormControl("", [Validators.required]),
out1: new FormControl(false),
out2: new FormControl(false),
out3: new FormControl(false),
out4: new FormControl(false)
});
我有这个表格组,这个寄存器:
register() {
// Needs relative path to work with Playground
let LS = require("../nativescript-localstorage");
LS.setItem(ConfigurationComponent.CURRENT_CONFIG, JSON.stringify(this.ConfigurationForm.getRawValue()));
this.routerExtensions.back();
this.configservice.createConfiguration(
this.ConfigurationForm.value.ipaddwifi,
this.ConfigurationForm.value.wifi,
this.ConfigurationForm.value.pass)
}
我想当我更改wifi
和/或pass
以便发布到Web服务中时,否则,只保存到本地存储中
答案 0 :(得分:0)
我从您的问题中了解到,您需要将一些数据(表单对象值)保存到localsotrage中,并在输入发生更改时进行更新,并将其发送到api,下面我写了使用解决该问题的步骤
答案 1 :(得分:0)
我不确定这里是什么问题,就像编写if
条件一样简单。
const oldValues = JSON.parse(LS.getItem(ConfigurationComponent.CURRENT_CONFIG) || "{}");
if (oldValues.ipaddwifi !== ipaddwifi || oldValues.pass !== pass) {
// Hit your api when new values do not match with old one
}