回答編集履歴

2

修正

2017/10/23 04:25

投稿

karamarimo
karamarimo

スコア2551

test CHANGED
@@ -52,7 +52,9 @@
52
52
 
53
53
  代わりに、Rangeによる`v-for`を使えばいいと思います。
54
54
 
55
+
56
+
55
- https://vuejs.org/v2/guide/list.html#v-for-with-a-Range
57
+ [v-for with a Range](https://vuejs.org/v2/guide/list.html#v-for-with-a-Range)
56
58
 
57
59
 
58
60
 
@@ -63,3 +65,7 @@
63
65
  <li v-for="index in pageCount" v-on:click="showPage(index)" class="{{page == index ? 'active': ''}}"><a>{{index + 1}}</a></li>
64
66
 
65
67
  ````
68
+
69
+
70
+
71
+ この場合、`index`は`data`で宣言する必要はありません(というかしないほうがいいです)。

1

コメントに対する追記

2017/10/23 04:24

投稿

karamarimo
karamarimo

スコア2551

test CHANGED
@@ -23,3 +23,43 @@
23
23
 
24
24
 
25
25
  angularじゃないので`v-repeat="data: dipsItems"`ではなく`v-for="data in dipsItems"`です。
26
+
27
+
28
+
29
+ ###追記
30
+
31
+
32
+
33
+ > また、v-repeatが使用できない場合、v-forでどのように代替するのでしょうか。
34
+
35
+
36
+
37
+ ```lang-js
38
+
39
+ <li v-on:click="showPage($index)" class="{{page == $index ? 'active': ''}}" v-repeat="pageCount"><a>{{$index + 1}}</a></li>
40
+
41
+ ````
42
+
43
+ ここのことをおっしゃっているんだと思いますが、
44
+
45
+
46
+
47
+ `v-repeat`というのは vue には存在しません...と思ったらver 0.*にはあったんですね。`$index`も使えたようです。
48
+
49
+ とりあえず ver 2 に`v-repeat`は存在しません。
50
+
51
+
52
+
53
+ 代わりに、Rangeによる`v-for`を使えばいいと思います。
54
+
55
+ https://vuejs.org/v2/guide/list.html#v-for-with-a-Range
56
+
57
+
58
+
59
+ 今の場合こうするといいと思います。
60
+
61
+ ```lang-js
62
+
63
+ <li v-for="index in pageCount" v-on:click="showPage(index)" class="{{page == index ? 'active': ''}}"><a>{{index + 1}}</a></li>
64
+
65
+ ````