这是我第一次尝试使用离子2.但我已经遇到了困难。但我正在努力。 所以在我开始一个新项目之后,我继续看看如何使用click事件。我在网上搜索和阅读。但仍然没有得到正确答案。
所以我在按钮点击事件中使用了这段代码。
modelBuilder.Entity<Material>().MapToStoredProcedures();
我的.ts文件如下所示。
<button myitem (click)='openFilters()'>CLICK</button>
我尝试将import {Component} from '@angular/core';
import {NavController} from 'ionic-angular';
@Component({
templateUrl: 'build/pages/home/home.html'
})
export class HomePage {
constructor(private navCtrl: NavController) {
openFilters() {
console.log('crap');
}
}
}
添加到@component部分。
答案 0 :(得分:25)
使用点击功能
您的代码应如下所示
<强> html的强>
<button myitem (click)='openFilters();'>CLICK</button>
<强> .TS 强>
import {Component} from '@angular/core';
import {NavController} from 'ionic-angular';
@Component({
templateUrl: 'build/pages/home/home.html'
})
export class HomePage {
constructor(private navCtrl: NavController) {
}
openFilters() {
console.log('crap');
}
}
答案 1 :(得分:7)
button
元素中的代码非常完美。问题是您已在类的构造函数中声明了openfilters()
方法,因此click事件处理程序找不到它。
将它放在构造函数之外,作为该类的另一种方法,它将按预期工作。
export class HomePage {
constructor(private navCtrl: NavController) {
// ...
}
openFilters() {
console.log('crap');
}
}
答案 2 :(得分:2)
点击事件会在iOS设备上造成延迟问题。用户可能需要多次单击该元素以进行离子识别事件。 这个问题的原因被称为离子点击阻止器,它阻止任何交互,直到转换完全完成。这是为了识别用户是否想要触摸设备上的点击事件或双击事件。
请参阅 -
处的解决方案http://www.agiliztech.com/2017/05/29/click-handler-reaction-delay-ionic-2/
答案 3 :(得分:0)
@Component({
templateUrl: 'build/pages/home/home.html'
})
export class HomePage {
constructor(private navCtrl: NavController) {}
openFilters() {
console.log('crap');
}
}
将openFilters()放在构造函数外部。