热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

三周学会小程序第七讲:提交问题

截止到上一讲可以支持数据库存储了,所以这一讲开始讲解怎么从小程序发布一个问题并存储到服务器端。下面简单罗列一下本讲的知识点。对了老规矩,文末附源码。对小

640?wx_fmt=png

截止到上一讲可以支持数据库存储了,所以这一讲开始讲解怎么从小程序发布一个问题并存储到服务器端。下面简单罗列一下本讲的知识点。对了老规矩,文末附源码。

  • 对小程序端分模块重构

  • 使用 tabbar 实现多 Tab 切换

  • switchTab 和 navigateTo

  • weui.wxss 引入

  • form 表单提交

  • css 优先级

  • API 工具的封装和校验逻辑

  • 添加 LoginInterceptor 用户校验登录状态和获取用户信息

  • 添加 api/question API 提交问题到服务器端并存储

小程序端

先用一张图描绘一下这一讲的工作

640?wx_fmt=png

如图,登录成功以后进入主页,区分为四个选项卡,首页、通知、礼品和我几个选项卡,所以对前端小程序进行了重构。把 index.js 从 question 启动到最外层,然后分别创建了 gift、notification、profile和question 文件夹用于存放相对应的选项卡的页面内容,同时记得修改 /app.json 里面的 pages 内容。app.json 里面添加如下文件,就可以自动定义页面的选项卡。

{ "tabBar": { "selectedColor": "#3c506f", "list": [ { "navigationBarTitleText": "首页", "pagePath": "pages/question/list", "text": "首页", "iconPath": "images/index-default.png", "selectedIconPath": "images/index-selected.png" }, { "navigationBarTitleText": "通知", "pagePath": "pages/notification/list", "text": "通知", "iconPath": "images/notification-default.png", "selectedIconPath": "images/notification-selected.png" }, { "navigationBarTitleText": "礼品", "pagePath": "pages/gift/list", "text": "礼品", "iconPath": "images/gift-default.png", "selectedIconPath": "images/gift-selected.png" }, { "navigationBarTitleText": "我", "pagePath": "pages/profile/index", "text": "我", "iconPath": "images/me-default.png", "selectedIconPath": "images/me-selected.png" } ] }
}

需要注意的是上面的 pagePath 对应的页面路径一定要存在, navigationBarTitleText 是跳转以后头部显示的名称。 iconPathselectedIconPath 分别是选中前后展示的图标,小编特意选择了一些对应的图片,这个图片直接在http://www.iconfont.cn

这一讲用了两种跳转的方式 switchTabnavigateTo,其中 switchTab 是跳转选项卡的时候用,并且只能用这个方法跳转,而 navigateTo是让页面导航到页面,同时这个方法会记录历史,也就是说你会发现左上角会有一个后退按钮,点击可以回退到历史浏览的页面。如果你不想有这个后退按钮可以使用 redirectTo 进行跳转,这样会覆盖掉之前的访问堆栈。

weui.wxss 是微信官方默认的样式库,没有第三方的漂亮,但是够用即可,直接下载下来放到 /lib/weui.wxss 下面,在需要使用的地方用如下语句引入即可。

@import "../../lib/weui.wxss";

接下来就是小程序端关键的一步,提交表单。这个被小程序组件优化的还是比较简单。直接在 wxml 里面添加 form标签,然后定义 bindsubmit属性指定点击提交绑定的方法即可。同时定义一个 button 绑定提交属性 form-type='submit',这样点击这个按钮的时候,就会自动调用 bindsubmit绑定的方法了,具体代码如下。里面用的 weui-cells__title便是 weui 提供的一些样式,这个直接对着 css 找就可以了。

输入标题 输入提问内容

推荐阅读
author-avatar
修魔海的传说
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有