微信小程序开发教程第五章:微信小程序名片夹详情页开发

今天加了新干货!除了开发日志本身,还回答了一些朋友的问题。 闲话不多说,先看下「名片盒」详情页的效果图:

备注下大致需求:顶部背后是轮播图,二维码按钮弹出模态框信息、点击微信栏、点击存入手机,地址栏需要地图展示,名片分享也是模态框指引。

首先是轮播图,autoplay 自动播放,interval 轮播的时间,duration 切换速度,可以根据自己需求去添加。

Delete:是删除按钮,加载进来是隐藏的,需用户点轮播图进去后,轮播图全屏显示才出来。 noClickImg 与 ClickImg:切换全屏与非全屏轮播图,绑定了点击事件 changeClick 来切换,只是改变样式即可。 Block:图片列表。 Number_img:当前轮播 index(currentNumber),与图片 length 集合(cardnum)。 其中 currentNumber:

//轮播图发生改变时改变数字 //初始化数据 Data:{ currentNumber:1 } slidechange:function(e){ var number = e.detail.current; this.setData({ currentNumber:number+1 }) },

这里可以看到全屏状态下当关闭按钮被点击后 getBackStyle,把 changeClick 切换到 imgFullScrenn 待命。

再次点击返回原样式,

切换后事件又走回到 getBackStyle 了,灵活运用。

刷新下开发者工具可以看到具体效果如下:

详情页可以看到信息基本都是样式一样,可以使用微信提供的循环 block。  下面是详情页里面的个人信息数据,

如果有信息就显示出来,没有数据的不显示,这里使用

//中文信息                var chinaMessage = res.card.groups[0].fields; var personMessage= []                for(var i = 0;i<chinaMessage.length;i++){                 personMessage.push(chinaMessage[i])                }                //为空或者null是不显示判断               for(var k in personMessage){                 if(personMessage[k].value==null || personMessage[k].value==""){                 personMessage[k]["display"] = "none";                 }else{                 personMessage[k]["display"] = "block";                 }                }

具体以 json 数据格式来处理,我们需要做的就是给它绑定 display 的值,然后我们调用即可。

微信此版本的 setData 不支持异步更新数据,故而我们在发生真实网络数据请求时一定要在后面加上 forceUpdata(),强制触发视图渲染,否则会出现很多莫名其妙的 bug。

这里说明下:如是服务器真实数据。

可以看到会报错,可能是 js 的执行顺序,依次往下走,此时网络数据还在请求中。

定义一个变量即可。

当然这里的数据都是 push 上来的。

以下是二维码弹出信息。

这是弹出模态框二维码信息,布好局初始化是none状态。那里需要它直接绑定数据即可:

This.setData({ //模态框名字:”显示?隐藏” })

方法是让它显示。

需要用他的地方调用方法即可。(支持重复调用)

详情页公司位置地图直接调用微信提供的接口实现(群里的 demo 有实现方式)。

可以看下实现的效果:

下一章:微信(小程序)名片盒我的页面开发。

原文链接:https://my.oschina.net/wwnick/blog/750974

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏owent

简单C++单元测试框架(支持一键切到GTest或Boost.Test)

众所周知,单元测试对于持续集成和变更的检测是十分重要的。 这个单元测试框架本是用于之前规划的C++协程框架使用的。 虽然已经有比较成熟的单元测试框架GTes...

361
来自专栏ASP.NET MVC5 后台权限管理系统

ASP.NET MVC5+EF6+EasyUI 后台管理系统(44)-工作流设计-设计表单

设计表单是比较复杂的一步,完成一个表单的设计其实很漫长,主要分为四步。 ? 开始之前先说说表的结构。 其实表Flow_Form与Flow_FormContent...

3257
来自专栏彭湖湾的编程世界

【Vue】Vue中的父子组件通讯以及使用sync同步父子组件数据

前言: 之前写过一篇文章《在不同场景下Vue组件间的数据交流》,但现在来看,其中关于“父子组件通信”的介绍仍有诸多缺漏或者不当之处, 正好这几天学习了关于用sy...

51410
来自专栏DannyHoo的专栏

iOS开发中去掉navigationBar下方的横线

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

623
来自专栏陈仁松博客

UWP基础教程 - AuotmationProperties.Name

作为Windows10 UWP开发,大家应该会在很多示例DEMO里面看到AuotmationProperties.Name这个属性吧 <Button Autom...

3225
来自专栏编程坑太多

RN请求豆瓣数据

1473
来自专栏偏前端工程师的驿站

Asp.net页面生命周期

前言                                      本篇记录的是Asp.net页面生命周期,也就是管道模型的最末端HttpHandl...

1828
来自专栏hbbliyong

WPF备忘录(6)WPF实现打印功能

  在WPF 中可以通过PrintDialog 类方便的实现应用程序打印功能,本文将使用一个简单实例进行演示。首先在VS中编辑一个图形(如下图所示)。 ?  ...

3915
来自专栏AhDung

【手记】WebBrowser响应页面中的blank开新窗口及window.close关闭本窗体

上述窗体是指WebBrowser所在的Form,基本上,上述目的就是让该窗体表现得像个正常浏览器而已。

523
来自专栏程序员的诗和远方

TypeScript 中使用 CSS Modules

CSS 的全局性 相当长一段时间 CSS 总是在页面上作为一个全局的存在,以前这个『特性』影响还不算很大,命名上注意一点,比如使用 BEM 也能一定程度上解决问...

3057

扫描关注云+社区