1. setUp関数の最初のパラメータprops
最初のパラメータのプロパティ: Props は、親コンポーネントから子コンポーネントに渡されるすべてのデータを含むオブジェクトです。 子コンポーネントで受け取るには props を使用します。 構成によって宣言され渡されたすべてのプロパティを含むオブジェクト つまり、親コンポーネントから子コンポーネントに渡された値を props を通じて出力したい場合です。 構成を受け取るには props を使用する必要があります。つまり、props:{......} Propsを通じて設定を受け入れない場合、出力値は未定義になります。 <テンプレート> <div class="box"> 親コンポーネント</div> <no-cont :mytitle="メッセージ" othertitle="他の人のタイトル" @sonclick="sonclick"> </no-cont> </テンプレート> <script lang="ts"> 「../components/NoCont.vue」からNoContをインポートします。 エクスポートデフォルト{ 設定 () { メッセージを = { タイトル:「親コンポーネントから子コンポーネントへのデータ」 } 関数sonclick(msss:文字列){ コンソール.log(msss) } {msg,sonclick} を返す }, コンポーネント:{ 続きなし } } </スクリプト> <テンプレート> <div @click="sonHander"> 私は子コンポーネントのデータです</div> </テンプレート> <script lang="ts"> 'vue' から {defineComponent,setup} をインポートします。 エクスポートデフォルトdefineComponent({ 名前: 'NoCont'、 // 受け入れられません // props:{ // タイトル:{ // タイプ:オブジェクト // } // }, セットアップ(プロパティ、コンテキスト){ console.log('props==>',props.mytitle);//出力値は未定義です 関数sonHander(){ context.emit('sonclick','子コンポーネントが親コンポーネントに渡されます') } {sonHander} を返す } }); </スクリプト> props.mytitle によって出力される値が未定義なのはなぜですか? 受信構成に props を使用しなかったためです。今すぐ 小道具:{ 私のタイトル:{ タイプ:オブジェクト } }, 受け入れ設定を追加すると 2. パラメータコンテキストの説明2 番目のパラメータ: context はオブジェクトです。 attrs (現在のタグオブジェクトのすべての属性を取得) があります ただし、このプロパティはすべてのオブジェクトを受け取るために props で宣言されていません。 propsを使用して値を取得し、propsで取得したい値を宣言する場合 すると、得られる値は未定義になります 注記: attrs の値を取得するために、props で受信を宣言する必要はありません。 最初のパラメータpropsはpropsで宣言する必要がある値を取得します 発行イベント配布があります(イベントを使用して親コンポーネントに渡す必要があります) スロットがあります <テンプレート> <div @click="sonHander"> 私は子コンポーネントのデータです</div> </テンプレート> <script lang="ts"> 'vue' から {defineComponent,setup} をインポートします。 エクスポートデフォルトdefineComponent({ 名前: 'NoCont'、 小道具:{ 私のタイトル:{ タイプ:オブジェクト } }, セットアップ(プロパティ、コンテキスト){ //出力 {title: 親コンポーネントから渡された値} コンソールにログ出力します。 // 他の人のタイトルを出力します [値を取得するにはコンテキストを使用します。値を受け入れるためにプロパティを使用する必要はありません] console.log('context==> ',context.attrs.othertitle); // コンテキストは受け入れるために props を使用する必要がないため、undefined を出力します。 console.log('contextmytitle==> ',context.attrs.mytitle); 関数sonHander(){ context.emit('sonclick','子コンポーネントが親コンポーネントに渡されます') } {sonHander} を返す } }); </スクリプト> 3. 子コンポーネントが親コンポーネントにイベントをディスパッチする <テンプレート> <div @click="sonHander"> 私は子コンポーネントのデータです</div> </テンプレート> <script lang="ts"> 'vue' から {defineComponent,setup} をインポートします。 エクスポートデフォルトdefineComponent({ 名前: 'NoCont'、 小道具:{ 私のタイトル:{ タイプ:オブジェクト } }, セットアップ(プロパティ、コンテキスト){ 関数sonHander(){ context.emit('sonclick','子コンポーネントが親コンポーネントに渡されます') } {sonHander} を返す } }); </スクリプト> 4. イベントディスパッチを最適化する 2番目のパラメータcontextはオブジェクトであることが分かっています オブジェクトには3つの属性 attrs、slots、emit があります イベントがディスパッチされたら、emitを使用するだけです <テンプレート> <div @click="sonHander"> 私は子コンポーネントのデータです</div> </テンプレート> <script lang="ts"> 'vue' から {defineComponent,setup} をインポートします。 エクスポートデフォルトdefineComponent({ 名前: 'NoCont'、 小道具:{ 私のタイトル:{ タイプ:オブジェクト } }, セットアップ(props,{attrs,slots,emit}){ // イベントを直接ディスパッチするには、emit を使用します。function sonHander(){ emitting('sonclick','子コンポーネントが親コンポーネントに渡されます') } {sonHander} を返す } }); </スクリプト> 5. 親コンポーネントから渡された値を取得する propsパラメータを使用して値を取得します そして値を取得するためにattrsを使用します <テンプレート> <hr/> <h2>サブコンポーネント</h2> <div @click="sonHander"> 私は子コンポーネントのデータです</div> <h2>props 宣言を使用して ==>{{ mytitle } を受け取ります}</h2> <h2>パラメータ attrs を使用して ==>{{ attrs.othertitle } を取得します}</h2> </テンプレート> <script lang="ts"> 'vue' から {defineComponent,setup} をインポートします。 エクスポートデフォルトdefineComponent({ 名前: 'NoCont'、 小道具:{ 私のタイトル:{ タイプ:オブジェクト } }, セットアップ(props,{attrs,slots,emit}){ 関数sonHander(){ emitting('sonclick','子コンポーネントが親コンポーネントに渡されます') } {sonHander,attrs} を返します } }); </スクリプト> セットアップ機能を使用する際に注意すべき点がいくつかあります。
要約するVue3 の SetUp 関数の props と context パラメータに関するこの記事はこれで終わりです。Vue3 の SetUp 関数のパラメータに関するより詳しい内容については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: MySQL ユーザーと権限、およびルートパスワードをクラックする方法の例
1. 問題の症状バージョン: MySQL 5.6、従来の binlog ファイルと pos 方式を使...
目次プロトタイプチェーン図プロトタイピングに必須の知識プロトタイププロパティ(プロトタイプを表示) ...
最近では、特定のフォルダ内の特定のファイルを自動的に検索する必要があり、ファイルパスとファイル名を別...
1. まずMySqlの公式サイトからダウンロードします参考: https://www.jb51.ne...
NATこのようにして、仮想マシンのネットワーク カードはホストの VMnet8 に接続されます。この...
私は2年間運用保守に携わり、多くのコマンドを使用しました。特定のLinuxコマンドを習得すると、どれ...
HTML メタタグHTML メタタグは、Web ページのコンテンツに関する情報をブラウザや検索エンジ...
Vueカードのフリップカルーセル表示、フリップ時にデータを切り替えながら、参考までに、具体的な内容は...
知識への依存Go クロスコンパイルの基礎Dockerの基礎Dockerfileカスタムイメージの基本...
MySQL へのリモート接続が失敗する場合は、次の理由が考えられます。 1. 若い男性/女性の方は、...
この記事では主に、高さが不明な垂直方向の中央揃えを CSS で実装する方法を紹介し、皆さんと共有しま...
アプリをテストしたいが、それを携帯電話で実行したくない場合があります。この場合、仮想マシンを使用して...
序文MySQL に関する私の理解に基づくと、パフォーマンスの最適化作業やマスター スレーブ レプリケ...
目次予備作業バックエンド構築フロントエンドページダイレクトレンダリングsetTimeout ページン...
序文HTTP と HTTPS日常生活でよく使われる URL は、おおまかに次の 2 種類に分けられま...