iKcamp出品|微信小程序|小试牛刀(视频)+发布流程|基于最新版1.0开发者工具初中级教程分享
2017-10-17 15:57
1296 查看
iKcamp官网:http://www.ikcamp.com
访问官网更快阅读全部免费分享课程:《iKcamp出品|全网最新|微信小程序|基于最新版1.0开发者工具之初中级培训教程分享》。
包含:文章、视频、源代码
修改后,看下控制台有报错信息,因为我们把页面全都干掉了。
从报错信息来看,很明显,小程序默认会从
在
想要
这时候再看下显示效果,已经没有报错信息了。
[align=right]哗–!整个世界清净了 —— 《大话西游》[/align]
Step 3. 书写简单的
现在我们来实现一个简单的
首先,在
然后在
这里主要的东西就是关于
一般情况下,不同的页面,都应该有一个独特的
注意,与最外层的
刚进入到页面时候,显示没有数据的提示信息。随着用户往下滑动,我们需要动态的增加数据,每下滑一次,增加 3 条数据吧,最多 30 条数据。
同样的,先增加需要的文件:
同时,我们对小程序增加一个
修改
我们先来实现
这里说明下,
因为我们是在用户下滑时候更新数据,这里我们调用下
然后我们开始增加数据的业务逻辑:
当页面到达底部,会调用
接下来,我们修改视图文件
我们对页面样式做简单的优化,由于当页面高度不够时候,难以操作触发
同样的,我们也给
大功告成!!!预览下小 demo 效果
如果之前有
上一篇-iKcamp出品|微信小程序|工具安装+目录说明|基于最新版1.0开发者工具初中级教程分享
下期更新内容:小程序初级入门教程-
iKcamp原创新书《移动Web前端高效开发实战》已在亚马逊、京东、当当开售。
相关文章:
听说 2017 你想写前端?
前端开发者指南(2017)
翻译连载 |《你不知道的JS》姊妹篇 | JavaScript 轻量级函数式编程
翻译 | 关键CSS和Webpack: 减少阻塞渲染的CSS的自动化解决方案
访问官网更快阅读全部免费分享课程:《iKcamp出品|全网最新|微信小程序|基于最新版1.0开发者工具之初中级培训教程分享》。
包含:文章、视频、源代码
第一章:小程序初级入门教程
小试牛刀【含视频】
视频地址:https://v.qq.com/x/page/i0554akzobq.html
这一章节中,我们尝试着写一个最简单的例子,包含 2 个静态页面,并增加菜单导航功能。小体验一把。Step 1. 清理结构
清理后如下结构,只保留了两个必备文件,同时做如下修改:
├── app.js ├── app.json
//app.js App({ onLaunch: function () { } })
{ "pages":[ ], "window":{ "navigationBarBackgroundColor": "#09ba07", "navigationBarTextStyle": "#fff", "navigationBarTitleText": "牛刀小试", "backgroundColor": "#fbf9fe", "backgroundTextStyle": "light" } }
修改后,看下控制台有报错信息,因为我们把页面全都干掉了。
从报错信息来看,很明显,小程序默认会从
pages字段中读取第一个地址,作为首页加载 –
知识点。
Step 2. 增加 flex 页面
ok,现在开始添加我们的第一个页面,给它起个名字叫flex吧,防止大家 误以为名字叫
index 的才是默认打开的页面 :)
增加 flex
页面文件├─ mypages/
│ ├─ flex/
│ ├─ flex.js // 空文件
│ ├─ flex.wxml // 空文件
│ ├─ flex.wxss // 空文件
├── app.js ├── app.json
在
app.json中增加
flex页面的配置地址
"pages":[ "mypages/flex/flex" ]
想要
flex页面生效,需要在
flex.js中调用全局函数:
// flex.js Page({ })
Page()函数接受一个
object参数,其指定页面的初始数据、生命周期函数、事件处理函数等。
这时候再看下显示效果,已经没有报错信息了。
[align=right]哗–!整个世界清净了 —— 《大话西游》[/align]
Step 3. 书写简单的 flex
布局页面
现在我们来实现一个简单的 flex布局效果,就像微信官方平台展示的那个样子:
首先,在
flex.wxml文件中增加布局标签:
<view class="section"> <view class="section__title">flex-direction: row</view> <view class="flex-wrp flex-row"> <view class="flex-item bc_green">1</view> <view class="flex-item bc_red">2</view> <view class="flex-item bc_blue">3</view> </view> </view> <view class="section"> <view class="section__title">flex-direction: column</view> <view class="flex-wrp flex-col"> <view class="flex-item bc_green">1</view> <view class="flex-item bc_red">2</view> <view class="flex-item bc_blue">3</view> </view> </view>
然后在
flex.wxss中,增加各
class的样式:
.section__title{ padding: 40rpx; } .flex-wrp{ display: flex; flex-direction: row; } .flex-row{ flex-direction: row; } .flex-col{ flex-direction: column; } .flex-item{ color: #fff; width: 200rpx; height: 200rpx; text-align: center; line-height: 200rpx; } .bc_green{ background-color: #09ba07; } .bc_red{ background-color: #f76160; } .bc_blue{ background-color: #0faeff; }
这里主要的东西就是关于
flex的简单布局,想了解更多关于
flex的同学,可以查阅下 flex 布局教程
一般情况下,不同的页面,都应该有一个独特的
title,这就需要我们就给
flex添加一个独立的配置文件
flex.json:
{ "navigationBarTitleText": "Flex-布局" }
注意,与最外层的
app.json不同的地方是,
flex.json是对全局配置
app.json的补充,且只能覆盖
app.json的
window字段配置信息
Step 4. 增加 list 页面
list页面,多少会比
flex要复杂些。
刚进入到页面时候,显示没有数据的提示信息。随着用户往下滑动,我们需要动态的增加数据,每下滑一次,增加 3 条数据吧,最多 30 条数据。
同样的,先增加需要的文件:
├─ mypages/
│ ├─ flex/
│ ├─ flex.js
│ ├─ flex.wxml
│ ├─ flex.wxss
│ ├─ flex.json
│ ├─ list/
│ ├─ list.js
│ ├─ list.wxml
│ ├─ list.wxss
├── app.js ├── app.json
同时,我们对小程序增加一个
底部导航菜单,方便测试我们的页面切换。
修改
app.json文件:
{ "pages":[ "mypages/flex/flex", "mypages/list/list" ], "window": { "navigationBarBackgroundColor": "#09ba07", "navigationBarTextStyle": "#fff", "navigationBarTitleText": "牛刀小试", "backgroundColor": "#fbf9fe", "backgroundTextStyle": "light" }, "tabBar": { "color": "#999", "selectedColor": "#2EBF76", "borderStyle": "white", "backgroundColor": "#f6f8f9", "position": "bottom", "list": [{ "pagePath": "mypages/flex/flex", "text": "布局" }, { "pagePath": "mypages/list/list", "text": "列表" }] } }
我们先来实现
js部分的逻辑,由于需要把数据显示在视图
wxml中,我们需要增加
data字段 :
Page({ data: { arrList: [] } })
这里说明下,
wxml中的动态数据均来自对应
Page的
data。当
data中的数据通过
this.setData发生变化时候,视图会随之更新变化。
因为我们是在用户下滑时候更新数据,这里我们调用下
onReachBottom函数(当到达页面底部时候触发):
Page({ data: { arrList: [] }, //微信官方提供的事件处理函数,当页面上拉触底时候自动调用该函数 onReachBottom(){ console.log('到达页面底部运行此函数') } })
然后我们开始增加数据的业务逻辑:
Page({ data: { arrList: [] }, onReachBottom(){ console.log('到达页面底部运行此函数') this.updateArrList(); }, updateArrList(){ let arr = this.data.arrList arr.push( ...this.createData() ) this.setData({ arrList: arr }) }, createData(){ let length = this.data.arrList.length if(length >= 30 ) return []; return Array.from({length: 3},(v, i)=>`数据${1+i+length}`) } })
当页面到达底部,会调用
onReachBottom函数,在
onReachBottom的最后,我们
尾调用自定义的函数
updateArrList来更新数据。
createData函数的作用只是单纯的返回包含 3 个元素的数组,最后拼接后的新数据,会通过
setData更新数据
arrList,当数据更新后,视图会自动更新。
接下来,我们修改视图文件
list.wxml:
<view class="container"> <block wx:for="{{arrList}}" wx:key=""> <view class="item"> <text>{{item}}</text> </view> </block> <block wx:if="{{arrList.length==0}}"> <view class="item"> <text>下拉加载数据</text> </view> </block> </view>
block标签并不属于组件,不会在页面中渲染,仅作接收控制属性用
for循环指令包裹的范围内,子元素默认是
item,如果想重新定义它的名字,可以在
wx:for="{{arrList}}"后面增加
wx:for-item="item",同样的,也可以指定数组下标
wx:for-index="index"
我们对页面样式做简单的优化,由于当页面高度不够时候,难以操作触发
onReachBottom,故我们给当前的页面外层标签
page加一个
150%高度:
page{ height: 150%; } .item{ background-color:#f6f8f9; color:#9a9a9a; font-size:14px; padding: 10px 20px; margin-bottom:15px; }
同样的,我们也给
list页面加一个
title,增加
list.json文件:
{ "navigationBarTitleText": "展示数据" }
大功告成!!!预览下小 demo 效果
如果之前有
appID,也可以在手机端预览
小程序:审核发布流程
官方文档比较详细了点击查看上一篇-iKcamp出品|微信小程序|工具安装+目录说明|基于最新版1.0开发者工具初中级教程分享
下期更新内容:小程序初级入门教程-
第二章:小程序中级实战教程:预备篇
iKcamp原创新书《移动Web前端高效开发实战》已在亚马逊、京东、当当开售。
相关文章:
听说 2017 你想写前端?
前端开发者指南(2017)
翻译连载 |《你不知道的JS》姊妹篇 | JavaScript 轻量级函数式编程
翻译 | 关键CSS和Webpack: 减少阻塞渲染的CSS的自动化解决方案
相关文章推荐
- iKcamp出品|微信小程序|小试牛刀(视频)+发布流程|基于最新版1.0开发者工具初中级教程分享
- iKcamp出品|微信小程序|工具安装+目录说明|基于最新版1.0开发者工具初中级教程分享
- iKcamp出品|全网最新|微信小程序|基于最新版1.0开发者工具之初中级培训教程分享
- iKcamp出品|全网最新|微信小程序|基于最新版1.0开发者工具之初中级培训教程分享
- 微信小程序教学第二章(含视频):小程序中级实战教程之预备篇 - 提取util公用方法 |基于最新版1.0开发者工具
- 微信小程序教学第二章:小程序中级实战教程之预备篇 - 项目结构设计 |基于最新版1.0开发者工具
- 微信小程序教学第三章第四节(含视频):小程序中级实战教程:下拉更新、分享、阅读标识
- ios 真机测试与发布详细流程,基于最新的开发者网站,ios7,xcode5(有截图的哦)[[[第二部分程序的发布]]]
- 微信小程序教学第三章第四节(含视频):小程序中级实战教程:下拉更新、分享、阅读标识
- 微信小程序教学第四章第三节(含视频):小程序中级实战教程:详情-功能完善
- 微信小程序教学第三章(含视频):小程序中级实战教程:列表-页面逻辑处理
- [置顶] 分享几个微信小程序的视频教程
- 绑定开发者-小程序开发设置2-微信小程序开发-视频教程9
- 微信小程序教学第四章第二节(含视频):小程序中级实战教程:详情-视图渲染
- 微信小程序教学第三章(含视频):小程序中级实战教程:列表-静态页面制作
- iKcamp出品微信小程序教学共5章16小节汇总(含视频)
- 微信小程序教学第四章第三节(含视频):小程序中级实战教程:详情-功能完善
- 微信小程序开发实战视频教程发布
- 微信小程序教学第三章第三节(含视频):小程序中级实战教程:视图与数据关联
- ios 真机测试与发布详细流程,基于最新的开发者网站,ios7,xcode5(有截图的哦)[[[第一部分真机测试]]]