84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
Vue 3 の次の単純なコンポーネントの例を参照してください:
one() 関数から two() 関数を呼び出すと、two 関数で this が発生する理由を理解しようとしています。 () 関数 真ん中は 未定義です。どちらの関数も setup() で返されるため、両方の関数が this にアクセスできることが期待されます。
関数から
関数を呼び出すと、
this
関数 真ん中は
です。どちらの関数も
で返されるため、両方の関数が
にアクセスできることが期待されます。
two() 関数でコンポーネント インスタンス this への参照を取得するにはどうすればよいでしょうか?
関数でコンポーネント インスタンス
への参照を取得するにはどうすればよいでしょうか?
Vue は依然として JavaScript のルールに従う必要があると思います。イベント ハンドラーが呼び出されるときは、通常、イベントを受信するオブジェクトのコンテキスト内で行われます。この場合、one() は <a> 要素の Proxy にバインドされ、this は # にバインドされます。 ##プロキシ###。 ただし、
one()
<a>
Proxy
は、コンテキスト なしで具体的に 呼び出されます (つまり、someobject.foo()## の代わりに two() # )。これは、this が未定義になることを意味します。 私は Vue にあまり詳しくありませんが、Vue はメソッドを自動的にバインドしないので、使用しないものに料金を支払う必要がないのだと思います。
なしで具体的に
# )。これは、
が未定義になることを意味します。
私は Vue にあまり詳しくありませんが、Vue はメソッドを自動的にバインドしないので、使用しないものに料金を支払う必要がないのだと思います。
の
は適切にバインドされているため、実際には two() を this のメソッドとして使用できます。裸の関数としてではなく: リーリー
two()
リーリー
Vue は依然として JavaScript のルールに従う必要があると思います。イベント ハンドラーが呼び出されるときは、通常、イベントを受信するオブジェクトのコンテキスト内で行われます。この場合、
ただし、
two()one()
は<a>
要素のProxy
にバインドされ、this
は # にバインドされます。 ##プロキシ###。は、コンテキスト
one()なしで具体的に
呼び出されます (つまり、someobject.foo()## の代わりに two()# )。これは、
thisが未定義になることを意味します。
私は Vue にあまり詳しくありませんが、Vue はメソッドを自動的にバインドしないので、使用しないものに料金を支払う必要がないのだと思います。
の
thisは適切にバインドされているため、実際には
two()
をthis
のメソッドとして使用できます。裸の関数としてではなく:リーリー