AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
## 1.控件点击高亮 ``` //控件会高亮 <view></view> //css view{ cursor:pointer } ``` ## 2.页面与页面之间的跳转 > 使用navigator对象 ``` <navigator url="../list/list" redirect="false" hover-class="none" open-type="navigate|redirect|switchTab"> <view class="board-item center"> <text>{{item}}</text> <image src="/images/arrowright.png" mode="aspectFill" /> </view> </navigator> ``` ## 3.页面与页面之间的传值 ### 3.1第一种`url` ``` // 源页面A相关代码 wx.navigateTo({ url: "/pages/mypage/mypage?a=1&b=2"//?接 }) ``` ``` // 目标页面B相关代码 Page({ onLoad: function (options) { var a = options.a; // 值:1 var b = options.b; // 值:2 } }) ``` 但是,这种方式只有在目标页面还没有创建的时候,才有效。因为一个页面的onLoad方法在页面的生命周期中,只执行一次。 ### 3.2第二种:使用全局数据存储(即全局的app对象) 将要传递的数据,存储在App对象上(比如globalData属性)。 将要传递的数据,存储在小程序的本地数据缓存(Storage)中。 例如,我们在将要退出页面B的时候,作如下调用: ``` //=== 1. 存储到app对象上的方式 ======== var app = getApp() app.globalData.mydata = {a:1, b:2}; //存储数据到app对象上 wx.navigateBack(); //返回上一个页面 ``` ``` //=== 2.存储到数据缓存的方式 ========= wx.setStorage({ key: "mydata", data: {a:1, b:2}, success: function () { wx.navigateBack(); //返回上一个页面 } }) ``` 这样一来,当返回到上一个页面的时候,可以通过读取这些全局存储区域,来获取到我们需要的数据。 不过,这种方式也是有很明显的缺点的。由于是全局数据存储,所以当你存入了那些数据后,必须谨慎的去管理这些全局数据(何时被销毁),否则一不小心,就会产生副作用。 ### 3.3第三种就是本地储存 这种方式,是通过调用小程序的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} }) ``` ### 3.4反向传值 反向传值与正向第二以及第三种方法一样。