ホームページ > ウェブフロントエンド > Vue.js > $refs を使用して Vue のコンポーネントと HTML 要素にアクセスする方法

$refs を使用して Vue のコンポーネントと HTML 要素にアクセスする方法

WBOY
リリース: 2023-06-11 14:59:02
オリジナル
1530 人が閲覧しました

Vue の

$refs は、Vue インスタンス内のコンポーネントや HTML 要素にアクセスできるようにする非常に便利な機能です。この機能により、テンプレート内の DOM 要素、計算されたプロパティ、メソッド、ライフサイクル フックに直接アクセスできるようになり、コードの記述が簡素化されます。この記事では、$refs を使用して Vue のコンポーネントや HTML 要素にアクセスする方法を紹介します。

1. コンポーネントへのアクセス

Vue ではコンポーネントは重要なモジュールであり、プロジェクト内で多くのコンポーネントを使用するため、コンポーネントへのアクセスは非常に必要です。では、$refs を使用してコンポーネントにアクセスするにはどうすればよいでしょうか?

Vue では、コンポーネントの ref 属性を設定できます。テンプレートまたは JS では、$refs を使用してこのコンポーネントにアクセスできます。

例を書いてみましょう:

<script><br>「./ChildComponent.vue」から ChildComponent をインポート</p><p>デフォルトの {<br> コンポーネントをエクスポート: {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>ChildComponent</pre><div class="contentsignin">ログイン後にコピー</div></div><p>},<br> マウントされました ( ) {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>this.$refs.myComponent.doSomething()</pre><div class="contentsignin">ログイン後にコピー</div></div><p>}<br>}<br></script>

この例では、親コンポーネント内で ChildComponent という名前の子コンポーネントを参照し、次の ref 属性を追加しました。アクセス。マウントされたライフサイクル フックでは、このコンポーネントにアクセスし、このコンポーネントの doSomething メソッドを呼び出すことができます。

つまり、$refs を使用してコンポーネントにアクセスすると非常に便利で、アクセス操作に直接使用できます。

2. HTML 要素へのアクセス

$refs を使用して HTML 要素にアクセスすることも非常に簡単です。要素に ref 属性を設定し、$refs を使用して JS でこの要素にアクセスすることもできます。例を書いてみましょう:

< script>
export default {
mount() {

this.$refs.myInput.focus()
ログイン後にコピー

}
}

この例では、入力要素を指定します。アクセス用の ref 属性を追加します。マウントされたライフサイクル フックで、 focus() メソッドを呼び出して、input 要素をフォーカスにします。

同様に、$refs を使用して HTML 要素にアクセスすることも非常に便利です。テンプレート内の要素に ref 属性を直接追加して、アクセス操作を実行できます。

3. 注意事項

Vue では、$refs を使用してコンポーネントや HTML 要素にアクセスするのは非常に便利ですが、使用には注意が必要です。 $refs によってアクセスされるコンポーネントと要素はレンダリングされている必要があります。要素またはコンポーネントをマウントする前にアクセスすると、未定義になります。

Vue コンポーネントで非同期操作を実行したり、データを操作したりすると、コンポーネントのライフサイクル フックが変更されます。この変更により、$refs が unknown を返す可能性があります。したがって、$refs を使用するときは注意し、要素またはコンポーネントにアクセスするときにそれがレンダリングされていることを確認してください。

同時に、コンポーネントの一意性を確保するために、コンポーネントの名前にも注意を払う必要があります。 $refs 経由でコンポーネントにアクセスする場合、名前でアクセスするため、同じ名前のコンポーネントが複数ある場合、間違ったコンポーネントにアクセスする可能性があります。

4. 概要

Vue では、$refs を使用してコンポーネントや HTML 要素にアクセスすると非常に便利です。コンポーネントまたは要素に ref 属性を追加するだけで、JS でアクセスできるようになります。ただし、$refs によって返されるコンポーネントまたは要素はすでにレンダリングされていることに注意する必要があり、コンポーネントの一意性を確保するためにコンポーネントの名前に注意を払う必要があります。

実際の開発では、$refs を v-if、v-for、その他の命令と組み合わせて使用​​することで、プロジェクトをより適切に完了することができます。もちろん、$refs を使用する場合は、過度に使用しないように注意してください。また、一方向のデータ フローの原則が崩れてしまうため、親コンポーネントで子コンポーネントのデータを直接変更することも避けてください。

以上が$refs を使用して Vue のコンポーネントと HTML 要素にアクセスする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート