跨平台开发微信小程序微信小程序知识

微信小程序开发新手注意点

2017-01-11  本文已影响5330人  Ke_Wang

自己犯过的一些错误,和遇到的坑记录下面来,再找找其他人的坑。。。。其实很多都是小细节,再看看文档,发现有些东西文档上都有的。。。但是文档不能操之过急。。。总不能背下来。。。目前还不完整,正不断补充中,有需要的道友请收藏关注!


wx.navigateTo({    
  url: "../logs/logs?id=1&title=标题abc" 
   })
  即:从index页面跳转到logs页面过程中,传递两个参数:id=1和title=标题abc

ps:页面跳转也可以在.wxml中配置,如图5中所示代码,文章1对应的text组件可以通过如下代码配置跳转: <navigator url="../logs/logs?id=100&title=标题" >

wx.setStorage({ 
              key: "mydata",
             data: {
                    a:1, 
                    b:2
                  },
             success: function () {
             wx.navigateBack();
           //返回上一个页面
             }})

这样一来,当返回到上一个页面的时候,可以通过读取这些全局存储区域,来获取到我们需要的数据。
不过,这种方式也是有很明显的缺点的。由于是全局数据存储,所以当你存入了那些数据后,必须谨慎的去管理这些全局数据(何时被销毁),否则一不小心,就会产生副作用。
方法2:从页面路由栈中直接获取和操作目标Page对象
这种方式,是通过调用小程序的API: getCurrentPages(),来获取当前页面路由栈的信息,这个路由栈中按照页面的路由顺序存放着相应的Page对象,我们可以很容易的获取到上一级页面的完整Page对象,从而使直接调用Page对象的属性和方法成为可能。
如下所示:
var pages = getCurrentPages();var currPage = pages[pages.length - 1]; //当前页面var prevPage = pages[pages.length - 2]; //上一个页面//直接调用上一个页面的setData()方法,把数据存到上一个页面中去prevPage.setData({ mydata: {a:1, b:2}})
比起全局数据存储的方式,这种方式在逻辑上要清晰得多,也不存在对数据的销毁有额外的管理工作。

暂时就这几个 以后更新


01.12更新:

本地调试http
<include src="../templates/header" />

1月13日

我发现是路径写错了。。。
改成酱紫就行了。。。



1月16号

上一篇下一篇

猜你喜欢

热点阅读