我定义了以下元素:
<dom-module id="my-element">
<style>
:host {
display: block;
}
google-map {
height: 600px;
}
</style>
<template>
<geo-location highAccuracy watchpos latitude="{{lat}}" longitude="{{lng}}"></geo-location>
<google-map id="myMap" latitude="{{lat}}" longitude="{{lng}}" dragEvents="true" zoom="16"></google-map>
<br>
<small>Latitude: <b>{{lat}}</b></small><br>
<small>Longitude: <b>{{lng}}</b></small><br>
</template>
<script>
(function() {
Polymer({
is: 'my-element',
ready: function() {
this.$.myMap.addEventListener('google-map-dragend', function(e) {
alert('Map has moved.');
});
}
});
})();
</script>
</dom-module>但是,事件侦听器根本不工作。我试过在不同的地方打电话,但都没有成功。我希望每次用户拖放地图时,事件侦听器都会调用一个函数。
我正在使用聚合物1.0与埃里克·比德尔曼卓越的地理定位组件。这是google-map组件的文档。
发布于 2015-07-29 12:38:03
事实证明,事件侦听器位于正确的位置,因为只有当页面上的所有组件都已完成加载时,ready属性才会触发。
我犯的错误实际上是一个惯例问题,因为聚合物文档中的属性被翻译成代码,使用'-'es来分隔单词。我记得在文档中的某个地方看到属性应该用HTML中的破折号分隔:
dragEvents="true"应该是drag-events="true"
现在它很好用。
https://stackoverflow.com/questions/31700355
复制相似问题