如果忘记了搭建json-server的过程,可看上一篇随笔

1. index.xml  代码

 <!--index.wxml-->
<swiper indicator-dots="{{indicatorDots}}" indicator-dots="true"
autoplay="{{autoplay}}" autoplay="true" interval="{{interval}}" duration="{{duration}}">
<block wx:for="{{imgUrls}}" wx:key="">
<swiper-item>
<image src="{{item}}" class="slide-image"/>
</swiper-item>
</block>
</swiper>
<view class='pro-list'>
<view class='pro-item' wx:for="{{ proList}}" wx:key="" bindtap='toDetail' data-index="{{index}}">
<image class='pro-logo' src="{{item.img}}"></image>
<view class='pro-body'>
<view class='pro-title'>{{item.title}}</view>
<text class='pro-desc'>{{item.desc}}</text>
<view class='pro-footer'>
<image class="btn-detial" src="/images/btn_detail.png"></image>
<button class="btn-ask" open-type="contact">
<image class='btn-img' src="/images/btn_ask.png"/>
</button>
</view>
</view>
</view>
</view>

2.index.wxss

 /**index.wxss**/
swiper{
width:100%;
height:340rpx;
}
.slide-image{
display: block;
width:100%;
height:100%;
}
.pro-list{
width: 100%;
height:auto;
}
.pro-item{
padding:30rpx;
overflow: hidden;
}
.pro-logo{
width:190rpx;
height:190rpx;
float: left;
}
.pro-body{
margin-left:213rpx;
}
.pro-title{
color:#212121;
font-size: 34rpx;
line-height: 1;
}
.pro-desc{
font-size: 24rpx;
color:#9a9a0a;
line-height:1.2;
}
.pro-footer{
overflow: hidden; }
.btn-detial{
float: left;
width:170rpx;
height:52rpx;
}
.btn-ask{
padding:0;
float:left;
width:224rpx;
height:52rpx;
margin-left:20rpx;
line-height: 1;
}
.btn-img{
width:100%;
height:100%;
}

3.index.js

//index.js
//获取应用实例
const app = getApp()
Page({
data: {
imgUrls: [
'/images/swiper01.jpg',
'/images/swiper02.jpg',
'/images/swiper03.jpg'
],
indicatorDots: false,
autoplay: false,
interval: 5000,
duration: 1000,
proList: null,
},
//事件处理函数
toDetail: function (e) {
console.log(e);
var index = e.currentTarget.dataset.index;
console.log(index);
},
getProList:function(){
var self = this;
wx.request({
url: 'http://127.0.0.1:3000/data',
method: 'GET',
success: function (res) {
console.log(res);
self.setData({
proList: res.data,
})
}
});
},
onLoad: function () {
this.getProList();
}
})

4. index.json (此json不是在项目里的index.json内写的,而是自己找个文件夹放置,然后json-sever index.json打开的,不明白可看上篇随笔)

 {
"data": [
{
"img": "/images/pro_01.jpg",
"title": "test",
"desc": "这是个测试1"
},
{
"img": "/images/pro_02.jpg",
"title": "test",
"desc": "这是个测试2"
},
{
"img": "/images/pro_03.jpg",
"title": "test",
"desc": "这是个测试3"
},
{
"img": "/images/pro_01.jpg",
"title": "test",
"desc": "这是个测试4"
}
]
}

效果图

小白之微信小程序第一次完成搭建本地服务与页面进行交互的更多相关文章

  1. 微信小程序图片保存到本地

    微信小程序图片保存到本地是一个常用功能: 这里讲解下完整实现思路: 因为微信官方的授权只弹一次,用户拒绝后再次调用,就需要结合button组件的微信开放能力来调起,以下方案在微信各种授权中可参考. w ...

  2. 微信小程序一步步搭建商城系列-01-开篇

    1.小程序介绍 小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用.也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题.应用将无处不 ...

  3. 微信小程序开发环境搭建

    关注,QQ群,微信应用号社区 511389428 微信小程序可谓是今天最火的一个名词了,一经出现真是轰炸了整个开发人员,当然很多App开发人员有了一个担心,微信小程序的到来会不会给移动端App带来一个 ...

  4. 小白学微信小程序

    奔着实用性的目的-测试孩子的认字量,开发了一个微信小程序-测字大王.上下班路上看书看了一个星期,代码前后共写一个星期.现在小程序已经对外开放,share下我的开发过程吧. 一 工具准备 首先先过一篇 ...

  5. 《微信小程序七日谈》- 第四天:页面路径最多五层?导航可以这么玩

    <微信小程序七日谈>系列文章: 第一天:人生若只如初见: 第二天:你可能要抛弃原来的响应式开发思维: 第三天:玩转Page组件的生命周期: 第四天:页面路径最多五层?导航可以这么玩 微信小 ...

  6. 微信小程序wxss的background本地图片问题

    在web 或者webapp开发中我们习惯了直接饮用本地图片做背景,例如 .aaa { background: url('img/1.png'); } 但是这种引用方式在微信小程序中是无法使用的,控制台 ...

  7. 微信小程序 功能函数 openid本地和网络请求

    本地-------------------------------------------------------------------------------------------------- ...

  8. 微信小程序自学第二课:app及页面的生命周期、使用setData绑定数据

    一.App声明周期 1.App() app.js中的App() 函数用来注册一个小程序.接受一个 object 参数,其指定小程序的生命周期函数等. 示例代码: App({ onLaunch: fun ...

  9. 微信小程序web-view之动态加载html页面

    官方推出的web-view方便了很多开发人员. 我们在做的时候,经常会想到写一个小程序的page然后通过动态加载web-view的形式来完成其他功能页面的开发. 之前研究web-view的时候发现网上 ...

随机推荐

  1. Linux命令之常用篇

    一.文件和目录 1. cd命令 它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径. 指令 说明 cd /home 进入‘home’目录 cd .. 返回上一级目录 ...

  2. Web后台快速开发框架(.NET Core)

    Web后台快速开发框架(.NET Core) Coldairarrow 目录 目录 第1章    目录    1 第2章    简介    3 第3章    基础准备    4 3.1    开发环境 ...

  3. 类Scanner

    什么是Scanner类 一个可以解析基本类型和字符串的简单文本扫描器. 引用类型使用步骤 1:导包:使用import关键字导包,在类的所有代码之前导包,引入要使用的类型. java.lang包下的所有 ...

  4. 菜鸟学IT之python网页爬取初体验

    作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2881 1. 简单说明爬虫原理 爬虫简单来说就是通过程序模拟浏览器放松请求站 ...

  5. 微信小程序-表单笔记2

    本地添加4张图片并显示至页面——组件位置.设置样式.列表渲染 Q.button是一张图片,需要实现点击这张图片后选择本地图片后显示至页面,不知道怎么让本地图片将button挤到右边  S.在wxml中 ...

  6. Linux centos ansible

    创建m01.backup.nfs.web01.web02 m01(172.16.1.61).backup(172.16.1.41).nfs(172.16.1.31).web01(172.16.1.7) ...

  7. SpringBoot+Swagger整合API

    SpringBoot+Swagger整合API Swagger:整合规范的api,有界面的操作,测试 1.在pom.xml加入swagger依赖 <!--整合Swagger2配置类--> ...

  8. mysql强制索引和禁止某个索引

    1.mysql强制使用索引:force index(索引名或者主键PRI) 例如: select * from table force index(PRI) limit 2;(强制使用主键) sele ...

  9. Python——pyqt5——智能提示(lineEdit/conmbobox)

    一.文本框智能补全 completer = QtWidgets.QCompleter(data) completer.setCompletionMode(QtWidgets.QCompleter.Po ...

  10. Go语言里的slice

    1.切片是基于数组做的一层封装,灵活能够自动扩容. 2.切片的初始化方法 ①直接创建 ②基于已有的数组或切片 ③使用make来创建一个切片 第一个5是切片的大小 第二个5是切片的容量 3.基本操作 ① ...