王小o

这家伙很懒,什么也没写
文章
0
评论
53
加入时间
2年前

集成在企业微信,用手机自带返回键,出现BUG会返回两次上次页面

这个问题是不是在IOS下? 是的话跟企业微信应该没有关系。
查看API文档,router, 参数里面有一个 backEffect: none , 在路由初始化的时候,判断如果是IOS,则关闭掉后退动画,这样手势后退就只有一次动画,按钮后退没有动画,2选1 。

一种,利用 syncHistory:false 不同步历史记录,关闭掉手势后退,只能通过点击按钮后退。 可以分别试试效果。

弹窗加载器 套着bui.tab 点出现BUG

@Alex 这种有2个做法,一种是监听list滚动到底的时候,触发tab的跳转到下一个tab的方法,这种没那么顺滑;一种是参考 bui.floor 组件, 把菜单改为纵向定位在左边的方式,滚动会自动跳转,点击也会跳转到指定位置。

弹窗加载器 套着bui.tab 点出现BUG

弹窗组件 bui.page 可以用来加载任意表现的内容组件。每次执行 bui.page 就会创建一个新的结构,所以越点会越多结构被加载在当前页,页面结构越复杂,加载就会越慢,可以利用变量来缓存,如果有,则用打开方法。
比如:

在外部先定个变量缓存实例


loader.define(function(){
      
  var uipage = null;

  if( uipage ){
    // 如果需要刷新
    uipage.reload({
      param:{}
    });
  // 不需要刷新则调用打开方法
    uipage.open();
  }else{
    uipage = bui.page({url:"",param:{}}) 
  }

})

bui.store

假设数据是这样,$key1 $key01 这几个就是动态变量,索引可以根据数组变化而变化。



var bs = bui.store({
scope:"page"
data: {
   list:[{}]
}
})

<b b-text="page.list.$key1"></b>