2017-09-12 15 views
1

なぜモンゴースフックを使用してthisを参照しているときにTypescriptエラーが発生するのか誰にも分かります。私は矢印の機能を使用していない、と私はそれでレキシカルスコープの問題について知っているが、それでもこのような無名関数を持つ:正確なエラーメッセージがモンゴースのフックがTypescriptと一緒に動作しない

'this' implicitly has type 'any' because it does not have a type annotation. 

ある

UserSchema.pre("save", function(next) { 
    console.log(this.password); 
    next(); 
}); 

誰でも取得する方法を知っていますこの周り?

ところで、私は2.5.2/8.2.1 NodeJS

を活字体を使用していますありがとう!

+1

この質問は役に立ちます:https://stackoverflow.com/questions/41944650/this-implicitly-has-type-any-because-it-does-not-have-a-type-annotation –

答えて

2

これを試してみてください:

schema.pre("save", function(this: UserModel, next: any) { 
    console.log(this.password); 
    next(); 
}); 

私はあなたがおそらく暗黙をチェックtypescriptですの設定を持っているので、あなたがエラーを取得していると思います。フック関数の引数に 'this'と入力すると、エラーを解決する必要があります。

+0

これは機能します!型付きのパラメータとしてコンテキストを渡すことを可能にするコールバックシグネチャは見られなかったので、私はそれを捨てました。いずれにせよ、ありがとう! – Eric

関連する問題