weex使用日记之列表-详情页

本文记录了在项目中使用Weex遇到的挑战,包括通过自定义module实现js与native通信,处理网络请求,并在列表页与详情页之间传递数据。虽然通过Android模块进行网络请求简化了工作,但限制了Weex的动态更新能力。页面间通信依赖自定义module,数据通过初始化参数在不同页面间传递。
摘要由CSDN通过智能技术生成

这是在项目里使用了weex,遇到一些坑,也费了挺多时间,都是要慢慢来的。总共两个页面,一个列表页,一个详情页,其中,涉及到js与native之间互相通信,页面与页面之间的交互等。


js与native通信

列表页的数据需要从接口请求得到,考虑到在项目里用js重新实现一套网络通信的成本,最后还是在native进行网络请求,获取到的数据再返回给js页面。

weex提供了module扩展的功能,具体使用方法见官网weex
在这里我自定义了一个网络请求的module:

Android代码:
/**
 * 请求module
 * 处理weex页面中的网络请求
 * Created by xiaoqiuhong on 2017/4/12.
 */
public class RequestModule extends WXModule implements INoProguard {
   
    private JSCallback failureResult; // 接口请求失败返回给js的回调
    private JSCallback successResult; // 接口请求成功返回给js的回调
    private JSCallback doingResult; // 正在接口请求返回给js的回调
    private String urlMethod;
    private String urlService;
    private static final String SERVICE= "service";
    private static final String METHOD_ONE= "methodOne";
    private static final String METHOD_TWO= "methodTwo";

    /**
     * 请求参数
     */
    private static class RequestParams implements INoProguard {
   
        public String type; // 服务器类型
        public String api; // 请求api地址
        public Map<String, Object> params; // 请求request
    }

    /**
     * weex页面通过native请求服务器
     *
     * @param params        请求参数
     * @param doingResult   doing回调
     * @param successResult 成功回调
     * @param failureResult 失败回调
     */
    @WXModuleAnno(runOnUIThread = true)
    public void requestWithOption(RequestParams params, JSCallback doingResult,
                                  final JSCallback successResult, final JSCallback failureResult) {
        this.failureResult = failureResult;
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值