Vuejs-v付きのイメージマップエリア-for

ショーン・ドビル

私はピアノ(7オクターブと88キー)を作成しようとしていますが、img12キーを含むピアノがあります。私はv-for写真を繰り返し、適切なオクターブで音符を演奏しようとしていますが、何らかの理由でvueがループindexからを認識しませんv-for私のコード:

<div v-for="(k, i) in keys" :key="k.id">
        {{i+1}}
        <img :src="k" alt="" usemap="#piano-map">
        <map name="piano-map" :key="k.id">
            <area target="" alt="k" title="k" @click="piano.note('c'+ parseInt(i+1)).play()" coords="2,0,81,267" shape="rect">
        </map>
    </div>

何か案は?

Ferrybig

あなたの問題はあなたの名前/ IDの再利用によって引き起こされます、

ループを巻き戻した後の出力は次のようになります。

<div>
    1
    <img :src="keys[0]" alt="" usemap="#piano-map">
    <map name="piano-map" :key="keys[0].id">
        <area target="" alt="k" title="k" @click="piano.note('c'+ parseInt(1)).play()" coords="2,0,81,267" shape="rect">
    </map>
</div>
<div>
    2
    <img :src="keys[1]" alt="" usemap="#piano-map">
    <map name="piano-map" :key="keys[1].id">
        <area target="" alt="k" title="k" @click="piano.note('c'+ parseInt(2)).play()" coords="2,0,81,267" shape="rect">
    </map>
</div>

上記のコードの出力でわかるように、同じ名前の要素が複数あります。

原因はバグの原因であり、画像のいずれかをクリックすると、その名前の最初の要素がアクティブになるため、常に注1がトリガーされます。

これを解決するには、すべての要素にインデックスに基づいて名前を付けます。

<div v-for="(k, i) in keys" :key="k.id">
    {{i+1}}
    <img :src="k" alt="" :usemap="'#piano-map-' + i">
    <map :name="'#piano-map-' + i" :key="k.id">
        <area target="" alt="k" title="k" @click="piano.note('c'+ parseInt(i+1)).play()" coords="2,0,81,267" shape="rect">
    </map>
</div>

最初のエントリをアクティブ化するすべての画像は、Vueがインデックスを無視しているように感じるので、実際の問題ではなく、おそらくそれを考えたでしょう。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

余分なhtmlマークアップを残すvuejs条件付きレンダリング

分類Dev

Vuejsの条件付きahref

分類Dev

イベントキーアップvueJS

分類Dev

Vuejsリスナー

分類Dev

vuejs条件付きラッパー

分類Dev

vuejsメソッドのParseint

分類Dev

vuejsのjquerycssの代替

分類Dev

カード表示vuejs

分類Dev

VueJSの画像パス

分類Dev

Android WebViewのVueJS(Xamarin)

分類Dev

Vuejs3のdefineAsyncComponent

分類Dev

VueJSの多次元配列

分類Dev

「偽のページ付けとVueJS」

分類Dev

VueJSリマインダーアプリとデータ配列アイテムの更新を個別に

分類Dev

VueJS-条件付きコンポーネントのマウスイベント

分類Dev

AtomのVueJSセットアップ

分類Dev

vuejsアプリ用のDockerの構築

分類Dev

VueJSの<th>の条件付き@クリック

分類Dev

シャイニーアプリの条件付きエラーメッセージ

分類Dev

複数ファイルのVuejsセットアップ-[Vue警告]:v-onハンドラーのエラー:「TypeError:formSubmitMessageは関数ではありません」

分類Dev

Vuejsでエラーメッセージを表示する

分類Dev

ID付きのVueJsスプライス行

分類Dev

Laravel + VueJSアプリケーションLaravelPassport {"メッセージ": "認証されていません。"}問題

分類Dev

vuejsアプリをアップグレードするときにこのエラーを解決するにはどうすればよいですか?

分類Dev

アンカータグ付きのVueJS @ click

分類Dev

Vuejs SPA動的テーマ

分類Dev

Firebaseはサブフォルダー内の単一ページのVueJSアプリで書き換えます

分類Dev

兄弟のv-forループのインデックスにアクセスしますか?(VueJS)

分類Dev

Vuejs画像のURLリンク

Related 関連記事

  1. 1

    余分なhtmlマークアップを残すvuejs条件付きレンダリング

  2. 2

    Vuejsの条件付きahref

  3. 3

    イベントキーアップvueJS

  4. 4

    Vuejsリスナー

  5. 5

    vuejs条件付きラッパー

  6. 6

    vuejsメソッドのParseint

  7. 7

    vuejsのjquerycssの代替

  8. 8

    カード表示vuejs

  9. 9

    VueJSの画像パス

  10. 10

    Android WebViewのVueJS(Xamarin)

  11. 11

    Vuejs3のdefineAsyncComponent

  12. 12

    VueJSの多次元配列

  13. 13

    「偽のページ付けとVueJS」

  14. 14

    VueJSリマインダーアプリとデータ配列アイテムの更新を個別に

  15. 15

    VueJS-条件付きコンポーネントのマウスイベント

  16. 16

    AtomのVueJSセットアップ

  17. 17

    vuejsアプリ用のDockerの構築

  18. 18

    VueJSの<th>の条件付き@クリック

  19. 19

    シャイニーアプリの条件付きエラーメッセージ

  20. 20

    複数ファイルのVuejsセットアップ-[Vue警告]:v-onハンドラーのエラー:「TypeError:formSubmitMessageは関数ではありません」

  21. 21

    Vuejsでエラーメッセージを表示する

  22. 22

    ID付きのVueJsスプライス行

  23. 23

    Laravel + VueJSアプリケーションLaravelPassport {"メッセージ": "認証されていません。"}問題

  24. 24

    vuejsアプリをアップグレードするときにこのエラーを解決するにはどうすればよいですか?

  25. 25

    アンカータグ付きのVueJS @ click

  26. 26

    Vuejs SPA動的テーマ

  27. 27

    Firebaseはサブフォルダー内の単一ページのVueJSアプリで書き換えます

  28. 28

    兄弟のv-forループのインデックスにアクセスしますか?(VueJS)

  29. 29

    Vuejs画像のURLリンク

ホットタグ

アーカイブ