2016-07-23 42 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() { 
    .... 
} 
相關問題