質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.46%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

827閲覧

methodsにおけるfunctionの引数が参照しているのは何か

yuto_210301

総合スコア2

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2021/04/10 03:44

前提・実現したいこと

書籍『基礎から学ぶVue.js』のチュートリアルでToDoアプリを作っています。
その中のコードでタイトルの通りmethodsにおけるfunctionの引数が参照しているのは何かがよく分からなかったため質問しました。

何が分からないか

下記コードのdoAddメソッドでfunctionの引数がeventとvalueとなっています。ここで、第2引数のvalueは「フォームに入力された文字」であると思うのですが、第1引数のeventが何を表しているのか、なぜ必要なのかよく分かりません。valueで参照するためにとりあえずeventは必要なのでしょうか?

該当のソースコード(抜粋)

html

1<div id="app"> 2 <h2>新しい作業の追加</h2> 3 <form class="add-form" @submit.prevent="doAdd"> 4 コメント<input type="text" ref="comment"> 5 <button type="submit">追加</button> 6 </form> 7</div>

js

1const app = new Vue({ 2 el: '#app', 3 data: { 4 todos: [] 5 }, 6 methods: { 7 doAdd: function(event, value){ 8 var comment = this.$refs.comment 9 if(!comment.value.length) { 10 return 11 } 12 this.todos.push({ 13 id: todoStorage.uid++, 14 comment: comment.value, 15 state: 0 16 }) 17 comment.value = '' 18 } 19 } 20})

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

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

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

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

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

guest

回答1

0

ベストアンサー

第1引数のeventが何を表しているのか

「クリックされた」「値が入力された」などをイベントと呼び、そのイベントに関する情報が入ったオブジェクトです。下記参照してみてください。
https://developer.mozilla.org/ja/docs/Web/API/Event

なぜ必要なのか

記載のソースコードでは未使用のため不要だと思います。
よくある使いどころとしては、イベント発生元の要素名を取得したり、イベントのタイプを取得して処理を分岐させたりなどがあります。

投稿2021/04/10 06:09

workshajikoma

総合スコア110

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

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

yuto_210301

2021/04/10 07:08

丁寧なご回答ありがとうございます。 1つ目の回答について - conole.log(event)としてみたところ、いろいろなオブジェクトが表示されました。これがイベントに関する情報が入ったオブジェクトなのですね。 2つ目の回答について - 試しにeventとvalueを消してdoAdd: function() {...}としたところ、問題なく動作したので、仰る通りこれらの引数は不要であることが分かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問