如何在打字稿中调用函数

时间:2016-07-23 09:39:27

标签: html angularjs typescript angular typescript1.8

我试图通过我的模板click事件调用函数,但错误是“get is not a function”。有人能找到问题所在吗?

我的模板:

    <button class="btn btn-primary" (click)="get()">sign-up</button>

我的意见:

import {Component} from '@angular/core';
import {FORM_DIRECTIVES, REACTIVE_FORM_DIRECTIVES} from '@angular/forms';
import {FormBuilder, FormGroup, Validators} from '@angular/forms'
import { Http, Headers } from '@angular/http';
import { Router, ROUTER_DIRECTIVES } from '@angular/router';
@Component({
  directives: [FORM_DIRECTIVES, REACTIVE_FORM_DIRECTIVES],
     templateUrl : "./components/login/login.html",
   })
      export class Login {
   //http: Http;           
     form: FormGroup;    

   constructor(public router: Router,  public http: Http, fbld:    FormBuilder) {
   // this.http = http;
    this.form = fbld.group({
        email: ['', Validators.required],
        phone: ['', Validators.required]
     });

  }
   function get(){
  //  this.router.navigate(['/demo/signup']);
    alert('hai');
  }

2 个答案:

答案 0 :(得分:1)

只要您正在使用Typescript,就不需要使用function关键字定义函数。

所以改成它,

get(){
   ...
}

答案 1 :(得分:1)

在typescript中,方法声明如下:

public get() {
   ....
}

你的功能不起作用,因为这样的声明是javascript对象的内部函数。要使用类似功能,请执行以下操作:

public get = function() {
    ....
}