Ionic 2 / Angular 2:如何从Ionic 2警报上的超链接或按钮发出单击事件?

帕万·皮莱

我的Home.ts:

import { Component } from '@angular/core';
import { NavController, AlertController } from 'ionic-angular';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  constructor(public navCtrl: NavController, 
              public alertCtrl: AlertController) {
  }


  ShowAlert(){
    let alert = this.alertCtrl.create({
        title: '<b>Information</b>',
        subTitle: `<a href="#" (click)="launchUrl('https://www.google.com')">Open Google</a>`,
        buttons: ['Close']
      });

    alert.present();
  }

  launchUrl(url){
    console.log(url);
  }
}

我的HTML看起来像:

<button  ion-button icon-only color="light" style="float: right" (click)="ShowAlert()">
Show Alert
</button>

而且我确实成功触发了警报。

现在,当我单击超链接:时Open Google,什么都没有发生。我想launchUrl()在单击超链接时调用该函数。

  launchUrl(url){
    console.log(url);
  }

一旦我能够调用launchUrl(),则稍后我希望对其进行如下所示的修改,以使用cordova插件来调用InAppBrowser。

launchUrl(url){
        this.platform.ready().then(() => {
            cordova.InAppBrowser.open(url, "_system", "location=true");
        });
    }

但是现在我什至不能调用基本launchUrl()功能。我尝试了(click)="launchUrl('https://www.google.com')"(click)="this.launchUrl('https://www.google.com')",但均未成功。

请指教。

n00b

警报的HTML会被Angular2 Sanitiser删除bypassSecurityTrust如果您想留下来,应该使用功能将其添加到“受信任的列表”中

但这并不能解决您的问题,因为您假设Angular2绑定将出现在警报的字幕上。警报不是针对您尝试使用它的方式而设计的。

参考AlertController的文档,您可以看到如何使用Button和Handler来做到这一点。

您可能需要稍微更改设计,才能立即使用Alert。例如使用这个

  ShowAlert() {
  let alert = this.alertCtrl.create({
    title: 'Information',
    message: 'Search Google?',
    buttons: [
      {
        text: 'Cancel',
        role: 'cancel',
        handler: () => {
          console.log('Cancel clicked');
        }
      },
      {
        text: 'Ok',
        handler: () => {
          console.log('start going to google...');
        }
      }
    ]
  });
  alert.present();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ionic 2 / Angular - 操作 JSON

来自分类Dev

如何更改 Angular 2 / ionic 2 中的特定属性值?

来自分类Dev

ionic2 + angular2-单击禁用按钮

来自分类Dev

Angular 2(Ionic 2):拦截Ajax请求

来自分类Dev

Angular 2(Ionic 2):拦截Ajax请求

来自分类Dev

Ionic 2/Angular 2 显示阵列

来自分类Dev

Angular 2 和 Ionic 2 与 Visual Studio

来自分类Dev

Ionic 2警报问题

来自分类Dev

将JavaScript \ Ionic \ Angular 1应用迁移到Typescript \ Ionic 2 \ Angular 2应用

来自分类Dev

Ionic 2 - 如何禁用按钮组件

来自分类Dev

Ionic2 / Angular2 / TypeScript:如何在函数2016中访问DOM元素

来自分类Dev

如何使用ionic 2 / angular 2和打字稿设置firebase

来自分类Dev

Ionic2 / Angular2-如何在视图/页面和标签之间滑动(左右)?

来自分类Dev

如何在图像Angular2 Ionic2上绘制

来自分类Dev

您如何在ionic 2中调用Angular 2中内置的函数?

来自分类Dev

如何在 Angular2、Ionic2 中只显示一项

来自分类Dev

如何添加带有ionic / ionic 2 / ionic 3 / ionic 4 / ionic 5的本地cordova插件?

来自分类Dev

Angular 2 + Ionic 2:检测对象是否被修改

来自分类Dev

Ionic 2 / Angular 2中的承诺,怎么办?

来自分类Dev

间隔上的Ionic2或Angular2 HTTP请求

来自分类Dev

ionic2 + Angular2的列表选择

来自分类Dev

Ionic2 + Angular2还是React-native?

来自分类Dev

Angular2 / Ionic2:数据绑定

来自分类Dev

在Ionic 2 / Angular 2 beta 10中访问窗口对象

来自分类Dev

以Angular 2 / Ionic 2中的形式访问选定的对象属性

来自分类Dev

Ionic 2 / Angular 2中的承诺,怎么办?

来自分类Dev

Angular 2 / Ionic 2 ngModel动态全局变量

来自分类Dev

Angular2 Ionic2使用Cordova创建插件

来自分类Dev

Angular 2 / Ionic 2中的Typescript转换错误

Related 相关文章

热门标签

归档