文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么优化mui列表跳转到详情页

2024-04-02 19:55

关注

这篇文章主要介绍“怎么优化mui列表跳转到详情页”,在日常操作中,相信很多人在怎么优化mui列表跳转到详情页问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么优化mui列表跳转到详情页”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

  实施方法

  通过预加载提前加载详情页;

  mui.fire触发详情页面指定事件,调用ajax更新数据;

  一、预加载的实现(两种方法):

  官方地址

  预加载方法一:

  通过mui.init方法中的preloadPages参数进行配置。

  mui.init({

  preloadPages:[

  {

  url:prelaod-page-url,id:preload-page-id,

  styles:{},//窗口参数

  extras:{},//自定义扩展参数

  subpages:[{},{}]//预加载页面的子页面

  }

  ],

  preloadLimit:5//预加载窗口数量限制(一旦超出,先进先出)默认不限制});

  在使用中,可能用不到那么多的属性,下面是我的使用案例:

  mui.init({preloadPages:[{

  url:'account_detail.html',

  id:'account_detail.html'

  }]

  });

  只需要设置url和id就可以,详情页需要的参数在使用mui.fire的时候传过去;

  预加载方法二:

  通过mui.preload方法预加载。

  varpage=mui.preload({url:new-page-url,id:new-page-id,//默认使用当前页面的url作为id

  styles:{},//窗口参数

  extras:{}//自定义扩展参数});

  预加载两种方法对比:

  1.方法一为异步创建预加载页面,并且可以同时创建多个页面,但是由于是异步的,因此不能立即获取到创建的webview对象,并且需要使用plus.webview.getWebviewById来获取到创建的webview;

  2.方法二为同步创建预加载页面,可以在创建后同步获取到webview,即方法二的“page”变量;但是方法二只能同时创建一个预加载的页面;

  二、通过mui.fire触发自定义事件

  原理:两个同时存在的webview之间可以通过mui.fire方法来触发另一个webview中的自定义事件,因此,我们可以在详情页中创建一个自定义事件,监听列表页中的mui.fire方法。

  mui.fire(target,event,data)

  target:详情页(列表页中预加载的详情页)的webview;

  event:详情页中监听的自定义事件;

  data:需要传给详情页的参数;

  1.在详情页创建并监听自定义事件“account_bid_detail_fire”:

  $.plusReady(function(){

  varget_bid_detail=newGET_BID_DETAIL();window.addEventListener('account_bid_detail_fire',function(event){//获得事件参数

  varid=event.detail.id;console.log(JSON.stringify(event.detail));//触发ajax,根据id向服务器请求当前列表详情

  get_bid_detail.init(id);

  });

  });

  mui.fire从列表页传的参数都在event.detail中,可以输出具体查看;

  2.在列表页触发“account_bid_detail_fire”事件:

  mui(document.body).on("tap",".account_bid_list",function(){//触发详情页面的account_bid_detail_fire事件

  vardetail_webview=null;if(!detail_webview){//判断webview是否存在

  detail_webview=plus.webview.getWebviewById("account_detail.html");

  }//detail_webview是在列表页中预加载的页面;

  mui.fire(detail_webview,'account_bid_detail_fire',{id:_this.dataset.id

  });//打开详情页面

  mui.openWindow({id:"account_detail.html",//详情页webview的id

  show:{aniShow:'none',//页面不显示动画

  duration:'0'//

  }

  });

  });

  接下来,在列表页点击列表的时候就可触发详情页的“account_bid_detail_fire”事件,然后触发详情页的ajax来更新请求的数据

到此,关于“怎么优化mui列表跳转到详情页”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯