Angular 2 和 Ionic 3 - TypeError: (...) 不是函数

lan*_*ane 4 ionic-framework ionic3 angular

我正在尝试使用简单的点击功能构建一个应用程序。我将处理程序添加到 users.html 页面中的按钮,应用程序会一直运行,直到我到达可以单击两个已处理按钮中的任何一个的页面。当我点击按钮时,我收到下面提到的错误,它不是一个函数。

我在 users.ts 文件中定义了 onLoadUser() 函数。类被导出。

技术

  • 离子 3
  • 角2

错误

类型错误:不是函数

目录结构

目录结构

用户.html

<ion-header>

  <ion-navbar>
    <ion-title>The Users</ion-title>
  </ion-navbar>

</ion-header>

<ion-content padding>
  <button ion-button (click)="onLoadUser('Max')">User 'Max'</button>
  <hr>
  <button ion-button (click)="onLoadUser('Anna')">User 'Anna'</button>
</ion-content>

<ion-footer padding>
  <p>The Footer</p>
</ion-footer>
Run Code Online (Sandbox Code Playgroud)

用户.ts

import { Component } from '@angular/core';

import { NavController } from "ionic-angular";

import { UserPage } from "./user/user";

@Component({
  selector: 'page-users',
  templateUrl: 'users.html'
})

export class UsersPage {
  constructor (private navCtrl: NavController) {}

  onLoadUser(name: string) {
    this.navCtrl.push(UserPage, {userName: name});
  }
}
Run Code Online (Sandbox Code Playgroud)

如何将 onLoadUser 函数连接到按钮单击事件?

ir2*_*pid 5

这是离子热重载的错误。我用 ionic 3 体验过。确保方法名称正确。如果您仍然收到错误:

  • 重复保存最近更改的 .ts、.html 等文件。并希望下一次重新加载有效
  • 刷新浏览器
  • 如果您在 chrome 上使用设备调试,请更改目标设备。
  • 修复它的最后但肯定的方法是ionic serve再次运行