【问题标题】:Polymer 1.0 property value reset to defaultPolymer 1.0 属性值重置为默认值
【发布时间】:2016-10-15 21:58:26
【问题描述】:
这是我与 Polymer 的第二轮。这次我得到了一个绑定到表单输入集的对象属性。我运行iron-ajax 请求以发送通过表单获得的 json 对象,我得到了这个对象并进行了一些更改,我向对象添加了一个标识符。一切正常,我发送 json 并用 id 值取回它,但是随着响应函数完成,属性被设置回默认值,因为页面被重新加载。 Here 你可以找到我的虚拟应用代码。还有另一个分支with-iron-input,我尝试使用iron-input 而不是普通的旧input 元素来实现我的目标,当然我得到了相同的行为。我错过了什么?
更新:页面重新加载。我更新了我的应用程序,向其中添加了一个元素列表。列表的项目由 json mock 加载并正确显示,但是当我尝试执行 PUT 时,响应返回时显示默认值,列表也是空的。
【问题讨论】:
标签:
javascript
polymer-1.0
【解决方案1】:
好的,我明白了。
我的组件如下所示:
<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 存储库。