父から息子へ:1. 親コンポーネントのサブコンポーネントタグに、サブコンポーネントに渡されるデータ名 = "渡すデータ" を渡します。ここでは、参考までに、親コンポーネントのデータを次のように定義します: fatherData 、 子コンポーネントが受信する必要があるデータは、sonData として定義されます。 // 親コンポーネント <テンプレート> <div class="about"> {{父データ}} <!-- 父から息子へ--> <!-- 1. 親コンポーネントのサブコンポーネント タグで、次の内容を渡します: サブコンポーネントに渡されるデータ名 = "渡されるデータ" --> <children :sonData="父親のデータ"></children> </div> </テンプレート> <スクリプト> 「@/components/children」から子要素をインポートします。 「vue」から {defineComponent、reactive、toRefs } をインポートします。 エクスポートデフォルトdefineComponent({ コンポーネント:{ 子供たち、 }, 名前:"について", 設定(){ 定数状態 = リアクティブ({ 父親データ: 「こんにちは」 }) 戻る { ...toRefs(状態) } } }) </スクリプト> 2. サブコンポーネントは引き続きpropsを通じて受け取られ、テンプレートで使用されます。ほとんどの場合、データは親コンポーネントから子コンポーネントに渡され、このデータに基づいて特定の機能またはリクエストデータが実行されます。 セットアップ フックでは、最初のパラメーター props は親コンポーネントから渡されたデータにアクセスできます。次に、関数内で、データは props を通じて操作されます。親コンポーネントから渡されたデータの名前。 セットアップ関数は、最初のパラメータとして props を受け取ります。props オブジェクトは応答性があります (一方向の親 -> 子)。watchEffect または watch は props の更新を監視し、応答します。 props オブジェクトを分解しないでください。そうすると、応答性が低下します。開発中、props オブジェクトはユーザー空間コードに対して不変であり、ユーザーが props を変更しようとすると警告がトリガーされます。 // サブコンポーネント <テンプレート> <div class="children"> <!-- 3. サブコンポーネント テンプレートでの使用 --> {{sonData}} </div> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前:"子供", // 2. サブコンポーネントは props:["sonData"] を通じて props を受け取ります。 セットアップ(props){ 関数 childrenbut(){ // props.sonData は親コンポーネントから渡されたデータにアクセスできます console.log(props.sonData); } 戻る { 子供たちだが } } } </スクリプト> 息子から父へ:1. サブコンポーネントは、セットアップの2番目のパラメータcontext.emitを通じてイベントをトリガーし、子から親への伝達を実現します。 コンテキスト コンテキスト オブジェクト。 // サブコンポーネント <テンプレート> <div class="children"> {{sonData}} <!-- 1. トリガーイベント--> <button @click="childrenbut">子コンポーネント ボタン</button> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前:"子供", セットアップ(プロパティ、コンテキスト){ 関数 childrenbut(){ console.log(コンテキスト); // 2. context.emit を使用して子から親にデータを渡します。 // 最初のパラメーターはメソッド名で、2 番目のパラメーターは渡されるデータです。context.emit("change",'world') } 戻る { 子供たちだが、 } } } </スクリプト> 文脈は構造の形で記述することもできる // サブコンポーネント <script> エクスポートデフォルト{ 名前:"子供", // 構造体を渡した後、emit を直接記述します {emit} セットアップ(props,{emit}){ 関数 childrenbut(){ // context.emit を省略 出力("change",'world') } 戻る { 子供たちだが、 } } } </スクリプト> 要約するvue3 では、親から子、子から親のいずれであっても、実際には vue2 と同じです。 考え方はほとんど同じですが、違いはvue3がパラメータを渡すためにさまざまなフックを呼び出す必要があることです。 以下もご興味があるかもしれません:
|
<<: Docker ベースの Selenium 分散環境の構築
>>: MySQL インポート csv エラーの 4 つの解決策
MySQLはユーザーを作成し、ユーザーの権限を承認および取り消します動作環境: MySQL 5.0...
通常、IE ブラウザでの CSS の互換性の問題を解決するために、フロート レイアウトが使用されます...
携帯モバイル ページは Chrome および Safari とのみ互換性があればよいため、カスタム ...
目次導入クロージャの使用カレー作りパブリック変数の実装キャッシュカプセル化(属性のプライベート化)閉...
NextCloud コンピュータ上の任意のファイルやフォルダを共有し、NextCloud サーバーと...
3つのモードブリッジ(ブリッジ モード)、NAT(ネットワーク アドレス変換モード)、ホストオンリー...
序文div またはモジュールに overflow: scroll 属性を使用すると、iOS フォンで...
この記事では、弾幕効果を実現するためのjQueryの具体的なコードを参考までに共有します。具体的な内...
目次setStateを使用する理由setStateの使用法非同期または同期更新要約するsetStat...
目次1. 背景2. サイレントログインとは何ですか? 3. カスタムログイン状態を維持する方法4. ...
目次コード:補充:要約する要件: 左のツリーと右のテーブル。組織ツリーでノードを選択した後、詳細ペー...
プロジェクトでは https サービスを使用する必要があるため、Alibaba Cloud では無料...
背景画像でも、ページ上のテキストサイズでも、1 ピクセルの違いは非常に明白です。そして、私は学生時代...
実際、多くの人が「テーブルは絶対に使用すべきではないと聞いたことがある」と言いますが、これは絶対に間...
この記事では、MySQLのダウンロードとインストールの詳細なチュートリアルを記載しています。具体的な...