🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

解決済

1回答

233閲覧

Vueファイル内のdataへのアクセス方法

namuyan

総合スコア76

Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

0クリップ

投稿2019/10/22 17:08

Vue-cliNodeJSを用いて開発を行っています。

下記の様なVueファイルが大量にありボタンで遷移します。
ファイルをまたぐデータの共有はVuexで、1ファイルで完結するデータはdataに蓄える事にしようと考えました。そこで下記のように書きましたが上手くいきません。

Connection.vue

html

1<template> 2 <div> 3 <section class="nes-container with-title"> 4 <h3 class="title">connection select</h3> 5 <div class="nes-select"> 6 <select v-on:change="selectedEndpoint"> 7 <option value="" disabled="" selected="" hidden="">manual</option> 8 <template v-for="(item, index) in endpoints"> 9 <option :key="index" :value="index">{{item.name}}</option> 10 </template> 11 </select> 12 </div> 13 <span>{{selectIndex}}</span> 14 </section> 15 </div> 16</template> 17 18<script> 19export default { 20 name: 'Connection', 21 data: function () { 22 return { 23 endpoints: [ 24 { 25 name: 'localhost', 26 protocol: 'http', 27 url: '127.0.0.1:3000' 28 }, 29 { 30 name: 'official', 31 protocol: 'https', 32 url: 'good.com' 33 } 34 ], 35 selectIndex: null 36 } 37 }, 38 methods: { 39 selectedEndpoint: (event) => { 40 let dom = event.target.options[event.target.options.selectedIndex] 41 let selectIndex = Number(dom.value) 42 this.selectIndex = selectIndex 43 } 44 } 45} 46</script> 47 48<style scoped> 49</style>

selectに操作が加わる度にselectedEndpoint()が呼ばれselectIndexの更新が行われるようにしたいと考えています。NodeJSを用いない開発(Vueファイルを用いずHtmlに書く)ではこのやり方で更新が上手くいくことは経験済みです。

どの様にしてselectIndexを更新してWeb表示に反映させればいいのでしょうか?
回答の方を宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

https://teratail.com/questions/214916

html

1methods: { 2 selectedEndpoint: function (event) { 3 let dom = event.target.options[event.target.options.selectedIndex] 4 let selectIndex = Number(dom.value) 5 this.selectIndex = selectIndex 6 } 7 }

アロー関数式から従来の関数式に変えれば良い。

投稿2019/10/23 08:54

namuyan

総合スコア76

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問