Vue Js で再利用可能なコンポーネントの変更可能なテキストを作成する方法がわかりません
P粉957723124
P粉957723124 2023-09-03 22:33:40
0
1
506
<p>チュートリアルを見ながら、再利用可能なタブコンポーネントを作成しています。それを見た後、私はそれがどのように機能するかを理解しました。ただし、私のプロジェクトでは、これは再利用可能なコンポーネントであるため、変更可能なタイトルを持つタブを作成する必要があるため、新しいタブごとにタイトルを変更する必要がありますが、まだそれがわかりません。方法を調べてください。ページに追加した TabsWrapper コンポーネントから何らかの方法でタイトルを取得する必要があります</p> <pre class="brush:php;toolbar:false;"><div class="tab_header">{{title}}</div></pre> <p>次に、このヘッダーによって、TabsWrapper コンポーネントのメインヘッダーであるこの div 内のテキストを変更します。 </p> <pre class="brush:php;toolbar:false;"><div class="tab_header">{{title}}</div></pre> <p>私のコード: 1 つ目は、Web サイトのトップページに追加したコンポーネント外のコードです。 </p> <pre class="brush:php;toolbar:false;"><TabsWrapper> <Tab title="タブ 1">こんにちは 1</Tab> <Tab title="タブ 2">こんにちは 2 </Tab> <Tab title="タブ 3">Hello 3</Tab> <Tab title="タブ 4">Hello 4</Tab> </TabsWrapper></pre> <p>2 つ目は、TabsWrapper</p> を担当するコンポーネント内のコードです。 <pre class="brush:php;toolbar:false;"><テンプレート> <div class="タブ"> <div class="tab_header"></div> <ul class="tabs_header">
  • {{ タイトル }} </li> </ul> <スロット/> </div> </テンプレート> <スクリプト> 'vue' から { ref} をインポートします。 import { 提供 } から 'vue'; デフォルトをエクスポート{ setup(props,{スロット}){ const tabTitles=ref(slots.default().map((tab)=> tab.props.title)) const selectedTitle=ref(tabTitles.value[0]) Provide("selectedTitle", selectedTitle) 戻る{ 選択されたタイトル、 タブタイトル、 } } } </script></pre> <p>このコードはタブから各タイトルを取得します</p> <pre class="brush:php;toolbar:false;"><Tab title="タブ 1">こんにちは 1</Tab></pre> <p>このコードはそれをレンダリングします</p> <pre class="brush:php;toolbar:false;"><li v-for="tabTitles のタイトル" :key="タイトル" @click="selectedTitle = タイトル" :class=" {選択: タイトル ==selectedTitle}" > {{ タイトル }} </li></pre> <p>同じテクニックを繰り返してみましたが、うまくいきましたが、もっと良い方法があると思います</p> <p> <pre class="snippet-code-html lang-html prettyprint-override"><code> <div class="tabs"> <div class="tab_header" v-for="headTitles の headtitle" :key="headtitle">{{headtitle}}</div> <ul class="tabs_header">
  • {{ タイトル }} </li> </ul> <スロット/> </div> </テンプレート> <スクリプト> 'vue' から { ref} をインポートします。 import { 提供 } から 'vue'; デフォルトをエクスポート{ setup(props,{スロット}){ const tabTitles=ref(slots.default().map((tab)=> tab.props.title)) const headTitles=ref(slots.default().map((tab)=>tab.props.headtitle)) const selectedTitle=ref(tabTitles.value[0]) Provide("selectedTitle", selectedTitle) 戻る{ 選択されたタイトル、 タブタイトル、 頭のタイトル、 } } } </script></code></pre> </p>
  • P粉957723124
    P粉957723124

    全員に返信(1)
    P粉418351692

    script タグでプロップを渡すだけで、このキーワードとプロップ名を使用して直接アクセスできます。

    リーリー

    次のようなテンプレートタグ内で

    リーリー

    ref を使用する必要はありません。v-for を直接使用して、配列要素をループするだけです。

    リーリー
    いいねを押す +0
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート