2016-07-23 46 views
0

我试图通过我的模板click事件调用函数,但错误是“get不是函数”。有人可以找到问题出在哪里吗?如何调用typscript中的函数

我的模板:

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

我的TS:

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

你不需要'功能'在'get'前面的类。 –

+0

@nlr_p:'getter'和'setter'方法在它前面不需要'function'。这会帮助你:) –

回答

1

只要你与打字稿玩,它不需要使用定义关键字function功能。

所以将其更改为,

get(){ 
    ... 
} 
1

在打字稿方法声明如下:

public get() { 
    .... 
} 

你的功能不工作,因为那样的声明是对JavaScript的内部函数对象。要使用类似的功能做这样的事情:

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