Web开发学习笔记:Ionic4中ion-button点击事件无反应

纯粹的记录一下自己遇见的问题,大家不一定会遇见

我创建了一个blank类型的Ionic4项目,然后自己添加了一些ion-button准备测试一下按钮跳转页面,但是当我在对应的HTML中绑定好按钮事件;在对应的ts文件中写好方法之后,调试时点击按钮居然没有反应

下面是一开始的HTML页面代码

<ion-header>
  <ion-toolbar color="primary">
    <ion-title>
      我的APP
    </ion-title>
  </ion-toolbar>
</ion-header>

<ion-content>

  <div class="ion-padding">
    <ion-button color="primary" size="large" (click)="btnClick('普通按钮')">
      <ion-icon name="star"></ion-icon>
      <ion-label>点击测试</ion-label>
    </ion-button>
    <ion-fab>
      <ion-fab-button color="primary" (click)="btnClick('悬浮按钮')">悬浮按钮</ion-fab-button>
    </ion-fab>
  </div>

</ion-content>
<ion-tabs>
      <ion-tab-bar slot="bottom">
        <ion-tab-button tab="home">
          <ion-icon name="home"></ion-icon>
          <ion-label>首页</ion-label>
        </ion-tab-button>
        <ion-tab-button tab="money">
          <ion-icon name="grid"></ion-icon>
          <ion-label>记账</ion-label>
        </ion-tab-button>
        <ion-tab-button tab="person">
          <ion-icon name="person"></ion-icon>
          <ion-label>我的</ion-label>
        </ion-tab-button>
      </ion-tab-bar>
    </ion-tabs>

然后下面是对应的ts文件代码

import { Component } from '@angular/core';
import { NavController } from '@ionic/angular';
import { AlertController } from '@ionic/angular';//导入弹框
import { PreloadAllModules, RouterModule, Routes } from '@angular/router';

@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})
export class HomePage {
  
  //构造函数
  constructor(
    public nav:NavController,//初始化变量
    ) { 
    console.log("这是构造函数");

  }
  
  btnClick(data){
    
    console.log(data+"触发btnClick事件");
    this.nav.navigateForward('/money');
  };
  onClick(){
    console.log("触发按钮点击事件");
    // this.nav.navigateForward("/money")
  }
}

 

就上面这种情况,死点按钮毫无反应;后来经过高人指点思路自己摸索发现了问题

<ion-tabs>
      <ion-tab-bar slot="bottom">
        <ion-tab-button tab="home">
          <ion-icon name="home"></ion-icon>
          <ion-label>首页</ion-label>
        </ion-tab-button>
        <ion-tab-button tab="money">
          <ion-icon name="grid"></ion-icon>
          <ion-label>记账</ion-label>
        </ion-tab-button>
        <ion-tab-button tab="person">
          <ion-icon name="person"></ion-icon>
          <ion-label>我的</ion-label>
        </ion-tab-button>
      </ion-tab-bar>
    </ion-tabs>

就这段代码,就是它影响了button的发挥(个人感觉是这样直接写在content后面是不是会层级比content中的标签高,所以就跟覆盖了一样导致button点击没有反应),后来就把这段代码用<ion-footer>套住之后问题解决

<ion-footer>
  <ion-toolbar color="primary">
    <ion-tabs>
      <ion-tab-bar slot="bottom">
        <ion-tab-button tab="home">
          <ion-icon name="home"></ion-icon>
          <ion-label>首页</ion-label>
        </ion-tab-button>
        <ion-tab-button tab="money">
          <ion-icon name="grid"></ion-icon>
          <ion-label>记账</ion-label>
        </ion-tab-button>
        <ion-tab-button tab="person">
          <ion-icon name="person"></ion-icon>
          <ion-label>我的</ion-label>
        </ion-tab-button>
      </ion-tab-bar>
    </ion-tabs>
  </ion-toolbar>

</ion-footer>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值