weex 页面跳转的时候如何进行传值?

点击进入详情页面试需要传值当前列表的userId 以确定进入的是谁的详情

阅读 10.2k
6 个回答

个人觉得通过querystring,storage的方式都不是很合适。站在前端开发者的角度,框架层面应该在 navigator.push()中扩展个参数,例如:

navigator.push({
    url:"xxxx.weex.js",
    params:{}
})

之后通过如下方式获取:

navigator.getParams(callback) //async
var param=navigator.getParams() //sync

这种方式更佳直观和友好,适合!SPA模式的开发者。其实我一直在纠结这个页面跳转和传参问题,正在扩展。

目前我能想到的有三个方法:

  1. 放到url query里,获取weexbundleUrl,用正则表达式获取键值对,适合简单的传值

  2. 使用broadcastchannel,可直接用于实例间通讯,可以传对象,可以有回调函数

  3. 用storage,相当于通过全局变量来进行通讯,可以用于状态管理如购物车

navigator.push({
    url: '.target.js?userid=xxxx'
})

获取JS Bundle 然后解析url就可以了

新手上路,请多包涵

描述不清晰时间简史

可以不使用navigator,自己做一个事件模块接收切换页面事件,并利用事件传值。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏