option 可以为空,或者通过option传入 js需要的参数。例如bundle js的地址等。

weex sample里有这么一行注释

*option 可以为空,或者通过option传入 js需要的参数。例如bundle js的地址等。

下边倒是传了个参数

 Map options=new HashMap<>();
 options.put(WXSDKInstance.BUNDLE_URL,"file://hello.js");

但是在js里并没有调用。网上一搜这个关键字也搜到的不是这个问题,对于我这个前端小白来说,就是一个无解问题。不过最终经过寻找还是找到了问题的答案

首先是activity里

     /**
     * WXSample 可以替换成自定义的字符串,针对埋点有效。
     * template 是.we transform 后的 js文件。
     * option 可以为空,或者通过option传入 js需要的参数。例如bundle js的地址等。
     * jsonInitData 可以为空。
     * width 为-1 默认全屏,可以自己定制。
     * height =-1 默认全屏,可以自己定制。
     */
     Map options = new HashMap<>();
     options.put(WXSDKInstance.BUNDLE_URL, url);    // 传递bundleUrl
     options.put("aa", "aaa");                      // 传递自定义参数 aa
     options.put("bb", "ccc");                      // 传递自定义参数 bb
     mWXSDKInstance.render("MyApplication", WXFileUtils.loadAsset("hello.js", this), options, null, -1, -1, WXRenderStrategy.APPEND_ASYNC);

然后是hello.js文件内容,是这样调用的

module.exports = {
    data: {
      aa: '',
      bb: '',
      bundleUrl: ''
    },
    methods: {
      // 获取 native的传参
      getOptions: function() {
        this.aa = this.$getConfig().aa;
        this.bb = this.$getConfig().bb; 
        this.bundleUrl = this.$getConfig().bundleUrl;  
      }
    }
  }

以下是我实现的完整hello.we,可以toast出aa的值






你可能感兴趣的:(option 可以为空,或者通过option传入 js需要的参数。例如bundle js的地址等。)