聚合物 1.0 属性 值重置为默认值

Polymer 1.0 property value reset to default

这是我与 Polymer 的第二轮交流。这次我得到了一个绑定到表单输入集的对象 属性。我 运行 一个 iron-ajax 请求发送一个由表单获得的 json 对象,我在几乎没有更改的情况下取回了这个对象,我向对象添加了一个标识符。一切顺利,我发送了 json 并用 id 值取回了它,但是当响应函数完成时 属性 被设置回默认值,因为页面被重新加载。 Here 你可以找到我的虚拟应用程序代码。还有另一个分支,with-iron-input,我尝试使用 iron-input 而不是普通的旧 input 元素来实现我的目标,当然我得到了相同的行为。我错过了什么?

更新: 页面已重新加载。我更新了我的应用程序,向其添加了一个元素列表。列表的项目由 json 模拟加载并正确显示,但是当我尝试执行 PUT 时,随着响应返回默认值,列表也是空的。

好的,我知道了。 我的组件如下所示:

<form>
  <iron-ajax ...></iron-ajax>
  <fieldset>
    <label for="offerId">Id</label><input id="offerId" type="text" value="{{offer._id::input}}"></input><br>
    ...
  </fieldset>
  <button on-tap="offerReset">New</button>
  <button on-tap="offerSubmit">Send</button>
  ...
</form>

正如我在问题中所说,当我点击 Send 按钮时,我取回了数据,但页面已重新加载。我这样删除 form 标签:

<iron-ajax ...></iron-ajax>
<fieldset>
  <label for="offerId">Id</label><input id="offerId" type="text" value="{{offer._id::input}}"></input><br>
  ...
</fieldset>
<button on-tap="offerReset">New</button>
<button on-tap="offerSubmit">Send</button>
...

现在组件的行为符合预期。我还更新了 GitHub 仓库。