NgModel清除标签更改的值?

时间:2017-06-16 09:17:33

标签: angular

我有这个输入:

 <input type="text" class="form-control-full" placeholder="" [ngModel]="addressDetails?.zipCode" name="zipCode">

我有两个标签,当我更改标签并从邮政编码返回我的值时为空。任何建议如何解决这个问题?

我通过从网格中选择一个地址来填充输入

    getAddressDetails(address) {
         if (this.addressDetailForm) {
            this.addressDetailForm.addressDetails = address;
        }
}

2 个答案:

答案 0 :(得分:0)

您的数据被清除可能是因为标签中的组件被破坏了。你没有指定你的&#34;两个标签&#34;是。所以我们现在可以真正帮助你。如果您为选项卡使用某些组件,则可能有一个选项可以防止破坏内容。如果您使用URL来决定必须打开哪个选项卡,则必须将数据保存在服务中。

答案 1 :(得分:0)

根据我的理解,每次渲染此组件时都会填充表单,但是您没有保存数据,对吗?

这意味着:

  1. 您使用从某个地方检索的addressDetails?.zipCode填充输入。
  2. 然后转到另一个标签页,该组件可能会被销毁。
  3. 您将返回表单组件,并再次检索addressDetails?.zipCode覆盖以前的值。
  4. 我的建议是:

    • 将您的addressDetails数据(一般表单数据)保存在您知道它不会被销毁或覆盖的对象中。
    • 离开当前组件后立即将表单数据保存在服务中。这样,当你返回它时,你可以从该服务获取数据,如果是空的,你从服务器,API或其他任何地方获取数据......