HTML5技术

微信小程序开发常见问题分析 - 杜少博客(2)

字号+ 作者:H5之家 来源:H5之家 2016-10-29 12:00 我要评论( )

通过这个动态图你应该发现问题了,当点击音乐进入音乐界面时,title先显示了WeChatForQQ然后显示的音乐,这个体验肯定是难以接受的,原因是音乐界面的title是在js文件中page的生命周期方法中设置的。 若你不了解生

通过这个动态图你应该发现问题了,当点击音乐进入音乐界面时,title先显示了WeChatForQQ然后显示的音乐,这个体验肯定是难以接受的,原因是音乐界面的title是在js文件中page的生命周期方法中设置的。
若你不了解生命周期,可以点击查看
Page({
data:{
// text:"这是一个页面"
},
onLoad:function(options){
// 页面初始化 options为页面跳转所带来的参数

}, onReady:function(){ // 页面渲染完成 //NavigationBarTitle如果此处和json文件都设置,最后展示此处的标题栏 wx.setNavigationBarTitle({ title: '音乐' }) }, onShow:function(){ // 页面显示 }, onHide:function(){ // 页面隐藏 }, onUnload:function(){ // 页面关闭 } })

通过注释你应该明白了,设置标题写在了onReady方法中,也就是页面已经渲染完成了,在onReady之前显示的title就是json文件(覆盖关系,如果在子页面json文件设置title会覆盖app.json全局设置)中的title。可能你会说将wx.setNavigationBarTitle写在onLoad函数中,不过如果这样设置是不对的,因为onLoad执行过后才渲染页面,在渲染页面时title会从json文件中读取,导致onLoad设置的title会只在页面渲染之前展示,之后就显示json文件的tile,所以现在你应该明白ttle设置最优的地方就是给子文件写一个json文件,在文件中写入,如果想改变颜色直接在文件中添加就可以,该文件所写的属性值会覆盖app.json中设置的值。
{
"navigationBarTitleText": "音乐"
}

wx.navigateTo无法打开页面

一个应用同时只能打开5个页面,当已经打开了5个页面之后,wx.navigateTo不能正常打开新页面。请避免多层级的交互方式,或者使用wx.redirectTo

本地资源无法通过 css 获取

background-image:可以使用网络图片,或者 base64,或者使用

标签

页面间数据传递

微信小程序路由(页面跳转)是通过API wx.navigateTo或者wxml中

<navigator url="/pages/dynamic/dynamic?title={{item.title}}&message={{item.message}}"> <view > <view> <image src="{{item.url}}"/> </view> <view> <view> <text>{{item.title}}</text> </view> <view> <text>{{item.message}}</text> </view> </view> <view> <view><text>{{item.time}}</text></view> <view wx:if="{{item.count>0}}"><text>{{item.count}}</text></view> </view> </view> <view></view> </navigator>

而数据接收是在js文件的page里接收的,page生命周期有一个onLoad函数,它就是做一些初始化数据的工作,onLoad函数有一个参数options,我们就可以通过key将数据获取,如下

/** 作者:dushao * 新浪微博: * 博客 : * */ * Page({ data:{ // text:"这是一个页面" isHiddenToast:true } onLoad:function(options){ // 页面初始化 options为页面跳转所带来的参数 console.log(options.title) console.log(options.message) }, onReady:function(){ // 页面渲染完成 }, onShow:function(){ // 页面显示 }, onHide:function(){ // 页面隐藏 }, onUnload:function(){ // 页面关闭 }, bindtap:function(event){ wx.navigateTo({ url: "/pages/message/search/search" }) }, })

这样就实现了页面间数据传递功能。
好了,今天就写到这了后期若遇到微信小程序其它一些问题,我会追加到此文,若你在开发过程中遇到比较坑的问题已经解决方案,可在我的微博或者邮箱留言。谢谢支持。

posted @

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 【绝对干货】仿微信QQ设置图形头像裁剪,让你的App从此炫起来~ - 南尘

    【绝对干货】仿微信QQ设置图形头像裁剪,让你的App从此炫起来~ - 南

    2016-10-17 10:00

  • 你自认为了解微信小程序?醒醒吧! - 无为方能无不为

    你自认为了解微信小程序?醒醒吧! - 无为方能无不为

    2016-10-14 11:00

  • 微信应用号(微信小程序)开发教程 - nhbcyz

    微信应用号(微信小程序)开发教程 - nhbcyz

    2016-09-26 10:00

  • 微信小程序开发教程初级版

    微信小程序开发教程初级版

    2016-09-26 08:39

网友点评
i