LoginSignup
0
0

More than 3 years have passed since last update.

Vue.jsでAtomsにfor文を使って<dl>リストを書いてみた

Last updated at Posted at 2019-05-25

Vue.jsをAtomic Designで構築していて、そのAtomsにdlタグをfor文を使って書いたのでその書き方を。
まずは出来上がりのHTMLはこんな感じです。

こう書きたかった
<dl>
  <dt>1</dt>
  <dd>11</dd>
  <dd>12</dd>
  <dd>13</dd>
  <dt>2</dt>
  <dd>21</dd>
  <dd>22</dd>
  <dd>23</dd>
  <dt>3</dt>
  <dd>31</dd>
  <dd>32</dd>
  <dd>33</dd>
</dl>

こう書くなら簡単だけど。。

これはListの役目をしてない。。
<dl>
  <dt>1</dt>
  <dd>11</dd>
  <dd>12</dd>
  <dd>13</dd>
</dl>
<dl>
  <dt>2</dt>
  <dd>21</dd>
  <dd>22</dd>
  <dd>23</dd>
</dil>
<dl>
  <dt>3</dt>
  <dd>31</dd>
  <dd>32</dd>
  <dd>33</dd>
</dl>

Atoms

atoms.vue
<template lang="pug">
  dl
    template(v-for="(title, index) in titleList")
      dt(
      ) {{ title }}
      dd(
        v-for="text in list[index]"
      ) {{ text }}
</template>
const titleList = [1, 2, 3];
const list = [[11, 12, 13], [21, 22, 23], [31, 32, 33]];

dtとddをdivで囲ってますが、HTML5の記法としては有りのようなのでこれで良いかと。。
kanさんのご指摘でtemplateを使えばdivを使わなくても良くなったので修正しました。
他に良い書き方があれば教えてください。。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0