在我的Polymer项目中,我有<google-map>
经度和纬度值作为属性。地图下方是两个<paper-input>
,用户可以在其中为地图写入long和lat值。在地图上移动光标时,这两个值会完美更新,但是,当我在其中写入内容时,地图不会更新。我认为这是因为<paper-input>
将值作为字符串输出,而地图需要数字作为经度&amp;纬度值。有没有一种简单的方法可以自动将值从<paper-input>
解析为数字?
我的代码:
<dom-module id="web-map">
<template>
<google-map latitude="{{lat}}" longitude="{{long}}" style="height: 80%" id="map"></google-map>
<div style="width: 100%" align="center">
<paper-input label="longitude" value="{{long::input}}" auto-validate="true" pattern="[-]?[0-9]+[.]?[0-9]*" error-message="Please enter a correct longitude value!" style="display: inline-block"></paper-input>
<paper-input label="latitude" value="{{lat::input}}" auto-validate="true" pattern="[-]?[0-9]+[.]?[0-9]*" error-message="Please enter a correct latitude value!" style="display: inline-block"></paper-input>
</div>
</template>
<script>
Polymer({
is: "web-map",
properties: {
long: {
type: Number,
notify: true,
value: -122.41942
},
lat: {
type: Number,
notify: true,
value: 37.77493
}
}
});
</script>
</dom-module>
答案 0 :(得分:0)
我前段时间遇到了同样的问题,做了一个小小的研究,发现使用“value-as-number”代替“value”就可以了。