用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

小程序社区 首页 教程 查看内容

微信小程序开发问答《六十七》 页面栈的管理 & 图片不显示 ...

Rolan 2017-8-24 00:50

1、小程序页面栈的管理 2、微信小程序用wx:for如何获得当前循环的长度 3、小程序图片不显示的问题

1、小程序页面栈的管理

小程序的每个页面都是一个page对象,拿到page对象就可以操作他的方法以及属性,page是放到页面栈里面的并且最多有5个,了解小程序页面栈的管理机制有助于我们进行页面跳转参数的传递,以及在目的页面改变原页面的属性达到传参的效果:


路由方式                                  页面栈
初始化新页面入栈
打开新页面(wx.navigateTo({ url: '/pages/st_suggest/st_suggest' });)新页面入栈
页面重定向 (wx.redirectTo({url:'/pages/home/home'}))当前页面出栈,新页面入栈
页面返回(wx.navigateBack())页面不断出栈,直到目标返回页,新页面入栈
Tab 切换(底部tab切换)页面全部出栈,只留下新的 Tab 页面
重加载页面全部出栈,只留下新的页面



通过getCurrentPages();获取页面栈内所有的Page对象,去某一个Page对象即可操作其方法和属性。

比如页面跳转传参:


1、A调用wx.navigateTo({ url: '/pages/B/B' });  跳转到B页面,

2、B页面从栈里面取A页面的Page对象: 

var currPage = pages[pages.length - 1];   //当前页面,B页面Page对象
        var prevPage = pages[pages.length - 2];  //上一个页面,A页面的Page对象 

3、调用setData传参:prevPage.setData({name:"三三" });

4、调用wx.navigateBack();即可返回到上一个页面,此时即A页面


2、微信小程序用wx:for如何获得当前循环的长度


 <block wx:for="{{trade}}" wx:for-item="trade" wx:key="trade" wx:for-index="index" > 

 <view wx:if="{{index==trade.length-1}}">
  
 代码如上 {{trade.length}}没有值 需要用长度来做相应的判断 求解
   
 想过在js里把trade这个数组循环 然后每个对象都增加个length属性 但是觉得太麻烦了
 for(var i=0;ilength;i++){
     trade[i].length=trade.length;
 }
答:你这个地方有个 wx:for-item="trade", 指明了循环元素是 trade,所以导致了trade.length没有值。
trade 是数组的话不可能没有length属性




在本地调试的时候本地图片显示,但是手机浏览的时候 本地图片不显示.这是啥子情况呢?

答1:不能加载本地资源,请用网路资源,也就是url提供资源。
答2:小程序发布的时候,资源包的大小会有限制,超过了限制,就发布不了了。所以建议把图片都放到服务器,然后通过url访问。
答3:请使用image标签如果是背景:那请使用网络资源,至于base64不建议使用
答4:微信小程序里面图片不能是本地的,要么是https网上资源图片,要么是base64位图片



















鲜花
鲜花
鸡蛋
鸡蛋
分享至 : QQ空间
收藏

相关阅读

  • sylvia 2017-8-27 17:57
    想请问图片的url必须是https吗?