问题描述
学习小程序的小伙伴可能会有这样的问题:微信小程序的页面内容要发生改变,在小程序中如何快速的来创造一个格式相同,但仅仅改变内容且易于改变的页面呢?接下来就来解决这个问题吧。
解决方案
整体思路是创建一个数组,将页面内容写进数组,利用for循环来达到遍历数组的目的,从而实现利用数组的变量来改变页面的内容。
第一步:首先在 js页面在 data 中创建一个数组名为 sums ,并在数组当中添加内容。
代码示例:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
data: {sums:[{imgone:"/pages/img/ 一人之下 .jpg",imgtwo:"/pages/img/ 天行九歌 .jpg",imgthree:"/pages/img/ 播放 .png",textone:" 一人之下 ",texttwo:" 天行九歌 "},{imgone: "/pages/img/ 鬼灭之刃 .jpg",imgtwo: "/pages/img/ 魁拔 .jpg",imgthree: "/pages/img/ 播放 .png",textone: " 鬼灭之刃 ",texttwo: " 魁拔 "},{imgone: "/pages/img/ 擅长捉弄的高木同学 .jpg",imgtwo: "/pages/img/ 镇魂街 .jpg",imgthree: "/pages/img/ 播放 .png",textone: " 擅长捉弄的高木同学 ",texttwo: " 镇魂街 "}] |
第二步:利用 for循环来遍历我们的数组 sums 。
代码示例:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<block wx:for="{{sums}}"><view class="type-line"><view class="imageone"><image class="img-one" src="{{item.imgone}}" mode="aspectFill"></image><image class="img-two" src="{{item.imgthree}}"></image><text >{{item.textone}}</text></view><view class="imageone"><image class="img-one" src="{{item.imgtwo}}" mode="aspectFill"></image><image class="img-two" src="{{item.imgthree}}"></image><text >{{item.texttwo}}</text></view></view></block> |
利用 for循环所循环的数组,此处的 item 代表数组所循环此处的元素。
第三步:添加css样式。
代码示例:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
.type-line{display: flex;flex-flow: row;justify-content: space-evenly;}.search{margin-top: 5px;margin-left: 50px;width: 160px;height: 25px;border-radius: 20px;background-color: whitesmoke}.titleone{width: 100%;height: 50px;display: flex;flex-flow: row}.imagesize{width: 20px;height: 20px;}.images{width: 40px;height: 40px;margin-left: 15px;border-radius: 50%;}.boxs{width: 100px;height: 30px;}.imagesone{margin-left: 60px;width: 25px;height: 25px;margin-top: 5px;}.imageone{margin-top: 20px;width: 180px;height: 150px;border-radius: 10px;background-color: whitesmoke;} |
最终效果:
