Как заставить кнопку в htmlinfowindows вызывать функцию с передачей параметра .ts?

Claudio Castro спросил: 14 ноября 2017 в 06:43 в: javascript

Я использую собственный плагин googlemaps для ionic и представляю htmlinfowindows при каждом касании булавки. Эта часть работает без сбоев.

Я пытаюсь поместить кнопки в htmlinfowindows, каждый из которых вызывает функцию в моем ts, передавая идентификатор, но я не могу нажимать на кнопки, вызывающие функции. Я пробовал несколько форм вызовов, как показано ниже:

У меня это есть в моем .ts:

   this.map.addMarker({
       'html': content,  // here I feed the HTML with the attempts below
        icon: {       // it is the content that appears in the htmlinfowindow window
          'url': icone
        },
        position: {
           lat: lat,
           lng: lng
        }
   }).then(marker => {
       marker.on(GoogleMapsEvent.MARKER_CLICK)
       .subscribe(() => {
            if (this.auxi){
               this.auxi = null;
            }
            var htmlInfo = new HtmlInfoWindow();
            htmlInfo.setContent(marker.get('html'));
            htmlInfo.open(marker);
            this.auxi = htmlInfo;
       });
  });  test(param){
    console.log(param);
  }     

Мои попытки в содержимом var:

   click is not detected
   var content = '<div><button type="buttton" (click)="test(\'idtest\');">update price</button></div>';   Uncaught TypeError: this.test is not a function
   var content = '<div><button type="buttton" onclick="this.test(\'idteste\');">update price</button></div>';   Uncaught TypeError: test is not a function
   var content = '<div><button type="buttton" onclick="test(\'idtest\');">update price</button></div>';

Поэтому я попытался щелкнуть по невидимой кнопке в моем .html, где (щелчок) вызывает мою функцию:

в .html

  <button ion-button [hidden]='true'  (click)='test(event)' id="bot"></button>

in .ts

   var content = '<div><button type="buttton" onclick="document.getElementById(\'bot\').click({\'param\': \'idtest\'}, this.test);">update price</button></div>';

В приведенной выше форме вызывается событие нажатия невидимой кнопки, но я не знаю, как это сделать Перейдите к функции test для параметра, поступающего из htmlinfowindow.


0 ответов