2015-06-09 17 views
1

我試圖將當前實例綁定到類方法,請注意ES6語法。如何使用babelify在ES6中正確綁定當前對象上下文

class SomeClass { 

    search() => { ... } 

} 

這是100%合法的代碼,但是,babelify不希望編譯

SyntaxError: /Users/vladmiller/Projects/test/test/client/test/app/pages/Search.react.js: Unexpected token (50:26) while parsing file: /Users/vladmiller/Projects/test/test/client/test/app/pages/Search.react.js\ 

相反,現在我要在類的構造函數

class SomeClass { 
    constructor() { 
    this.search = this.search.bind(this) 
    } 
    search() { ... } 
} 

結合上下文哪是相當煩人和無聊。

UPD:事實證明,這是ES6語法無效;因此問題如下。將實例上下文綁定到類方法的最佳方式是什麼?

UPD2:默認情況下應重視,但是,這個問題做出反應http://jsbin.com/citafaradu/2/edit?js,console,output

+0

爲什麼你認爲這是100%的合法代碼?這是coffeescript語法,而不是ES6。 – Bergi

+0

我認爲,如果ES6支持箭頭,這應該實際上在類級別上工作以及https://babeljs.io/docs/learn-es2015/#arrows –

+0

和WebStorm沒有給我這個語法的任何警告 –

回答

5

此代碼無效ES2015。原型方法定義如下:

class SomeClass { 

    search() { /* ... */ } 

} 
相關問題