テクノロジー

学習補助アプリの制作4 〜配列〜

ちろる🍫UGOK's icon'
  • ちろる🍫UGOK
  • 2020/07/02 01:36
Content image

 

かなりお久しぶりです! ちろるちょこ🍫です。

 

今回も進めているアプリ制作について纏めていきます!

 

前回したこと:エラーを直して、配列の要素の下に要素数を表示できるようにした。また、配列に入れた要素を選択できるようにした。

今回すること:アプリを実装する(続き)。

 

今回進めた所は「pop、shift、unshift」のボタンを追加です。

もともと「push」だけだったのですが、3つボタンを増やしました。↓

下から3つ目の「配列名から indexをとってくる部分」にすこし不具合(選択肢が空白の時に値が入ってしまう)が残るのですが、基本的には動くようになりました。

 

ここまで動かせれるようになるまでに、悩んで物凄く回りくどいプログラムを書いてるので、参考にはなりませんが迷っていた部分と解決策を書きます。

 

 

ボタンの追加は、配列に対してpushやshiftの命令を書くと出来たので、良かったのですが問題は下から3つ目の「配列名から indexをとってくる部分」です。

 

書く前までは「v-for使ってindex取ってこれば良いや」と思っていました。

 

ちなみに下のテーブルはv-forで配列の値もindexもとってます。↓

        <tr v-for="(yousomei, index) of inputs">
           <td>{{index}} </td>
           <td>{{ yousomei.name }} </td>
           <td> {{index+1}}</td>
       </tr>

 

この要領で、セレクトボックスで選択した値のindexをとろうと思っていました。

   <span><select v-model="selected" >
           <option v-for="(option,index) of options" v-bind:value="option.value">
               {{option.text}}
           </option>
       </select>
   </span>
   <span>
       は {{hairetsu_name}}[{{index}}] です
   </span>

 

この下から2行目の{{index}}の所に、選択した値のindexを入れたかったのですが、v-forがoptionタグの中だから、indexが使えないという事にここで気づきました。

 

ここから「セレクトボックスで選択した値のindexを取得」の為に大きく分けて3パターンほど試しました。

 

・何とかしてv-forのindexを外部に持ってこれないか

調べても分からなかったです。(そもそもoptionには何が選択されているかという情報が分からないので、多分無理ですよね。。。)

 

・var selectedIndex = $("#id ").get(0).selectedIndex;を使う

まず$を記述した時点でエラーが出て全く動かなかったです。

selectのidを取得して、selectedIndexをつけるとindexが取ってこれるらしいのですで、$を使わない方法も試しましたが、undefinedになり無理でした。

 

・配列のvalue値をそのまま使う

pushだけならvalue値=index番号が成り立つので、出来ました!

しかし一度設定したvalue値が上書きできなかったので、unshiftを使ってしまうと上手くいかなかったです。

 

こんな感じで試行錯誤していくうちに、

value値に工夫をして何とか正しく動くようにしました

pushで追加された値を0より上の数で、unshiftで追加された値の数を0より下の数で別々に管理して、unshiftで追加された値の個数をプラスすることで動くようにしました。

凄い付け焼刃感がするので直したいな。。。

 

次回は、自動問題生成ができるプログラムに取り組みたいと思います。

 

ありがとうございました!

 

 

Article tip 0人がサポートしています
獲得ALIS: Article like 51.24 ALIS Article tip 0.00 ALIS
ちろる🍫UGOK's icon'
  • ちろる🍫UGOK
  • @chiroru
UGOKで活動してます。

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
ゲーム

ドラクエで学ぶオーバフロー

Like token Tip token
30.10 ALIS
Eye catch
テクノロジー

iOS15 配信開始!!

Like token Tip token
7.20 ALIS
Eye catch
クリプト

ブロックチェーンの51%攻撃ってなに

Like token Tip token
0.00 ALIS
Eye catch
他カテゴリ

ALISのシステム概観

Like token Tip token
5.00 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
テクノロジー

オープンソースプロジェクトに参加して自己肯定感を高める

Like token Tip token
85.05 ALIS
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

Like token Tip token
159.32 ALIS
Eye catch
クリプト

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
テクノロジー

彼女でも分かるように解説:ディープフェイク

Like token Tip token
32.10 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
69.82 ALIS