小册子AngularFire2代码按钮第一次点击工作1次第二次点击工作2次3次点击工作3次

时间:2017-11-06 14:02:18

标签: javascript firebase ionic-framework leaflet angularfire

    CollectPixi(){

         this.map.locate({setView:true,maxzoom:30}).on("locationfound",e=>{
           this.db.list(`/pixidata`).snapshotChanges().map(actions=>{
             return actions.map(action => {
                     const $key = action.payload.key;
                     const data = { $key, ...action.payload.val() };
                     return data;
                 });
             }).subscribe(items => {

               let pixizaa = items.map(this.getObjectWithoutKnowingKey);

               console.log(pixizaa);
               });




              });
}

CollectPixi功能在按钮中。

当我点击按钮1次时,我得到console.log(pixizaa)输出1次。 如果我第二次点击它我输出2次 如果我点击第3次我得到输出3次。

HTML:

  <button ion-button class="button-collectpixi" (click)="CollectPixi()"  block>Collect Pixi!</button>

我点击按钮3次。为什么它不是3 enter image description here

根据答案

this.map.locate({setView:true,maxzoom:30}).on("locationfound",e=>{

}

是重复的原因。但我需要在collectpixi函数中使用e.latitude e.longitude值。我的意思是我获取用户位置数据并在collectpixi数据中用它做一些计算。

1 个答案:

答案 0 :(得分:0)

附加this.map.on("locationfound",e=>{ ... }); 事件处理程序一次

locate

每次按下按钮时都会运行function CollectPixi() { this.map.locate({setView:true,maxzoom:30}); }

map.on('locationfound', ...)

每次单击按钮时,都会调用.col-