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

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

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

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

JavaScript

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

Q&A

解決済

1回答

968閲覧

【Vue.js】子コンポーネントで表示させている画像に対してクリックした際の切り替え方法について【画像】

roronoazoro

総合スコア113

Vue.js

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

JavaScript

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

0グッド

0クリップ

投稿2020/09/09 08:00

実装イメージ

イメージ説明

悩んでいること

画像は子コンポーネントのほうでpタグにクラスを指定し、cssのbackgroundで表示させています。
以下のようにボタンを用意した場合は切り替えできるのですが、今回<sample>の子コンポーネントのほうで、画像を読み込んでいるため、切り替えがうまくいっておりません。

<button @click="point1=true"> <sapmle @click="point1=false">

以下コード@click="point1=false"では、画像をクリックしても、falseのためそもそも表示されません。
@click="point1=true"だと、初回の切り替えはできるのですが、pointプロパティがtrueのままになってしまい、2回目以降が、クリックしても反応しません。

親コンポーネント

<!-- モーダル表示時 --> <sapmle :point="point1" @click="point1=false" > <p>hoge</p> <p>fuga</p> <button @click="point1=false">閉じる</button> </sapmle> <!-- モーダル表示時 --> <script> export default { props: { point: { type: Boolean, default: false, } }, }; </script>

子コンポーネント

<!-- imgクラス付与で、backgroundで画像表示させています --> <template> <p class="img"></p> </template>

Vueの知識が浅く、不足している部分もあるかと思いますが、アドバイスいただけると助かります。
よろしくお願いします。

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

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

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

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

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

guest

回答1

0

自己解決

以下のようにしたところ切り替えうまくいきました。
✖︎<sapmle @click="point1=false></sapmle>
⭕️<sapmle @click="point1=!point1></sapmle>

投稿2020/09/09 09:30

roronoazoro

総合スコア113

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問