簡體   English   中英

點擊事件在 ionic 4 項目中不起作用

[英]click event not working in ionic 4 project

我已經聲明了一個 static 變量,該變量包含 1 個包含一次點擊事件的 html 代碼。 在單擊事件上,我試圖調用一個方法,該方法將在應用程序瀏覽器中打開鏈接。 我已經在使用一個 pipe 來顯示消息,以繞過 angular 提供的內置安全性。 在瀏覽器控制台中沒有顯示錯誤,但我仍然無法單擊包含單擊事件的錨標記。

消息通知.page.ts

import { Component, OnInit } from '@angular/core';
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';

@Component({
  selector: 'app-messages-notifications',
  templateUrl: './messages-notifications.page.html',
  styleUrls: ['./messages-notifications.page.scss'],
})
export class MessagesNotificationsPage implements OnInit {

  myMsg = '';

  constructor() {
      this.myMsg = '<u><a (click)="openBrowserWindow("https://stackoverflow.com")">click here</a></u>';
  }

  ngOnInit() {
  }

  openBrowserWindow(text): void {  
    console.log("openBrowser called");     
    let browser = new InAppBrowser();
    browser.create(text, '_blank', 'location=yes')
  }
}

消息通知.page.html

<ion-content>
  <ion-card>
    <ion-item [innerHtml]="myMsg | safeHtml" class="ion-text-wrap"></ion-item>
  </ion-card>
<ion-content>

安全-html.pipe.ts

import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer } from "@angular/platform-browser";

@Pipe({
  name: 'safeHtml'
})
export class SafeHtmlPipe implements PipeTransform {

  constructor(private sanitizer:DomSanitizer){}

  transform(html) {
    return this.sanitizer.bypassSecurityTrustHtml(html);
  }

}

來自瀏覽器的快照

您是否嘗試使用(tap)而不是(click)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM