teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

質問に対しての回答になっていなかったので追記します

2020/04/23 16:47

投稿

oec
oec

スコア271

answer CHANGED
@@ -1,7 +1,7 @@
1
- Vueでは画像URLをrequire()してあげないと表示されないので、それが原因だと思います。
1
+ ~~Vueでは画像URLをrequire()してあげないと表示されないので、それが原因だと思います。~~
2
2
 
3
3
 
4
- こんな感じで表示できたので参考にしてください
4
+ ~~こんな感じで表示できたので参考にしてください~~
5
5
 
6
6
  ```vue
7
7
  <template>
@@ -32,4 +32,44 @@
32
32
  }
33
33
  </style>
34
34
 
35
+ ```
36
+
37
+
38
+ 【追記】
39
+ すみません、いろいろ勘違いしていました。
40
+
41
+ ①エラーの件
42
+ setBackgroundImageのところ、this.image.urlに直してあげてください。
43
+ ```vue
44
+ // 【元のコード】
45
+ setBackgroundImage(){
46
+ return {backgroundImage : "url("+this.images.url+")"};
47
+ }
48
+
49
+ // 【正しいコード】
50
+ setBackgroundImage(){
51
+ return {backgroundImage : "url("+this.image.url+")"};
52
+ }
53
+ ```
54
+
55
+ ②computedを呼ぶ時は this.computedmethod で呼び出してあげてください
56
+ ```vue
57
+
58
+ <-- 元のコード -->
59
+ <div class="slideImage" :style="setBackgroundImage()">
60
+
61
+ <-- 正しいコード -->
62
+ <div class="slideImage" :style="setBackgroundImage">
63
+ ```
64
+
65
+ ②<div>の高さがない
66
+ イメージ画像が現れない原因はイメージを設定しているdivに高さがうまく設定できてないからだと思います
67
+ 試しに<div>hello</div>とかやってみると背景に画像の一部が現れました。
68
+ style側であてたものにsetBackgroundImageが上書きしてしまっているのかもしれませんので、そちらであててみてはいかがでしょう。
69
+
70
+ ```vue
71
+ // 例
72
+ setBackgroundImage() {
73
+ return { backgroundImage: 'url(' + this.image.url + ')', height:"100vh" }
74
+ }
35
75
  ```