-1

ecmascript の矢印表記で meteor を使用する場合、'this' を使用してドキュメントに記載されている値にアクセスすると、常に失敗します。例えば:

 Template.temp.onCreated(()=> {
      this.var = new ReactiveVar("")
 })

次に、次の方法でアクセスします。

 Template.instance().var

いつも失敗します。これは、流星、クライアント、またはサーバー側での「this」のほとんどすべての使用において一貫しています。クライアントから調べると、「this」が「_this」にコンパイルされていることがわかります。これにより、常にコードが失敗します。

コードは次のようにコンパイルされます。

 _this = this
 Template.temp.onCreated(function() {
      _this.var = new ReactiveVar("")
 })

アドバイスをいただければ幸いです。

4

1 に答える 1

1

これは、アロー関数が作成時にスコープにバインドされるためです。あなたの場合、作成時のスコープはグローバルであり、したがって、関数のスコープはグローバル スコープです。

結論として、この動作は設計上正しいものです。

適切でない場合は、アロー関数を使用しないでください。数文字の入力を節約するのは単なる「省略」ではありません。

于 2015-11-25T15:08:22.573 に答える