如何在离子信息窗口中使单击生效

时间:2019-04-18 04:12:04

标签: typescript google-maps ionic3

我在html文件中创建了一个div,然后使用document.getElementByID在ts文件中对其进行了引用。然后,我将其内部html用作信息窗口的内容。但是,当我不知道如何使点击有效。当我尝试向该div中使用的任何元素添加侦听器时,它不起作用

我尝试添加(click)=“ functionName()”,也尝试将document.getElementByID存储在变量中,并尝试添加事件侦听器。

用于html

<div id="newpininfo" class="newpininfo">
        <ion-item detail-push>
                Save Spot 
                <ion-icon color="white" name="ios-add-outline" item-left></ion-icon>   
        </ion-item>
 </div>

ts

var testelement = document.getElementByID('newpininfo');

testelement.addEventListener('click', function() =>{
     //do something
});

1 个答案:

答案 0 :(得分:1)

我也面临着同样的问题。这个技巧解决了我的问题:

在html中:

<div onclick="Window.myComponent.test()" id="newpininfo" class="newpininfo">
   <ion-item detail-push>
      Save Spot 
      <ion-icon color="white" name="ios-add-outline" item-left></ion-icon>   
   </ion-item>
</div>

在组件(ts文件)

class 
  constructor(){
    Window["myComponent"] = this;
  }


  test(){
    console.log("testing");
  }