2017-07-31 100 views
1

我有2個文件。不能調用其他類的函數

1)accountService.js

export class Http { 

forgotPassword(email) { 
console.log(email) 
    } 
} 

2)忘了,password.js

import {Http} from '../services/accountService' 

export class ForgotPassword { 

sendCode(email) { 
    Http.forgotPassword(email) 
    } 
} 

當我試圖調用Http.forgotPassword(email)forgot-password.js有控制檯錯誤,在不說Http.forgotPassword一個函數。

+0

你使用emacscript,trye this; module.exports = { forgotPassword(電子郵件){ 的console.log(電子郵件) }} –

+0

我使用ECMAScript 6 –

+0

可以導出class¿?用巴貝爾? –

回答

3

forgotPassword方法需要是static如果你想這樣稱呼它;

static forgotPassword(email) { 
    console.log(email) 
} 
+0

哦,這太神奇了。 ES6看起來像正常的語言 –

1

在你的例子中,forgotPassword是一個實例方法。你需要做的

export class ForgotPassword { 
    constructor() { 
    this.http = new Http 
    } 
    sendCode(email) { 
    this.http.forgotPassword(email) 
    } 
} 

但是,如果你已經證明這些文件是整個代碼,您應該既不用class ES也不出口對象與方法。 Just export the functions