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

时间:2018-01-02 00:07:49

标签: angular ionic-framework ionic3

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

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

技术

  • Ionic 3
  • Angular2

错误

TypeError: not a function

目录结构

Directory Structure

users.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>

users.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});
  }
}

如何将onLoadUser功能连接到按钮点击事件?

1 个答案:

答案 0 :(得分:2)

这是离子热装的错误。我在ionic 3上遇到过这种情况。请确保方法名称正确。如果仍然出现错误:

  • 将.ts,.html等文件重复保存在最近更改的位置。并希望下一次重新加载可以正常工作
  • 刷新浏览器
  • 如果要在chrome上使用设备调试,请更改目标设备。
  • 解决该问题的最后但确定的方法是再次运行ionic serve