博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Weex 第二天: JS Service
阅读量:5745 次
发布时间:2019-06-18

本文共 2261 字,大约阅读时间需要 7 分钟。

JS service 和 Weex 实例在 JS runtime 中并行运行。Weex 实例的生命周期可调用 JS service 生命周期。目前提供创建、刷新、销毁生命周期。

重要提醒: JS Service 非常强大但也很危险,请小心使用!

注册 JS Service

iOS

[WeexSDKEngine registerService:@"SERVICE_NAME" withScript: @"SERVICE_JS_CODE" withOptions: @{}];复制代码

Android

HashMap
options = new HashMap<>()options.put("k1", "v1")String SERVICE_NAME = "SERVICE_NAME"String SERVICE_JS_CODE = "SERVICE_JS_CODE"boolean result = WXSDKEngine.registerService(SERVICE_NAME, SERVICE_JS_CODE, options)复制代码

Web

复制代码

编写一个 JS service

// options: native inject options// options.serviceName is native options nameservice.register(options.serviceName, {  /**    * JS Service lifecycle. JS Service `create` will before then each instance lifecycle `create`. The return param `instance` is Weex protected param. This object will return to instance global. Other params will in the `services` at instance.    *    * @param  {String} id  instance id    * @param  {Object} env device environment    * @return {Object}    */  create: function(id, env, config) {    return {      instance: {        InstanceService: function(weex) {          var modal = weex.requireModule('modal')          return {            toast: function(title) {              modal.toast({ message: title })            }          }        }      },      NormalService: function(weex) {        var modal = weex.requireModule('modal')        return {          toast: function(title) {            modal.toast({ message: title })          }        }      }    }  },  /**    * JS Service lifecycle. JS Service `refresh` will before then each instance lifecycle `refresh`. If you want to reset variable or something on instance refresh.    *    * @param  {String} id  instance id    * @param  {Object} env device environment    */  refresh: function(id, env, config){  },  /**    * JS Service lifecycle. JS Service `destroy` will before then each instance lifecycle `destroy`. You can deleted variable here. If you doesn't detete variable define in JS Service. The variable will always in the js runtime. It's would be memory leak risk.    *    * @param  {String} id  instance id    * @param  {Object} env device environment    * @return {Object}    */  destroy: function(id, env) {  }})复制代码

Using JS Service (vuejs)

复制代码

转载地址:http://gjazx.baihongyu.com/

你可能感兴趣的文章
vs2017安装cuda9.0编译默认示例失败解决方法
查看>>
JavaScript 特殊效果代码
查看>>
【014】Html中锚点的使用【转】
查看>>
运维工程师的职责和前景
查看>>
Python 如何引入自定义模块
查看>>
类与继承(一)
查看>>
apidoc,一个相当不错的文档生成器
查看>>
学会简单使用poi进行excel有关操作
查看>>
ubuntu 到底是选择32位还是64位?
查看>>
Revit二次开发之“PromptForFamilyInstancePlacement()函数动态拖动/鼠标跟随”效果
查看>>
poj3014
查看>>
Silverlight 4常用StringFormat格式总结
查看>>
双向链表通用类
查看>>
JSplitPane启动时让一个面板隐藏,一个面板最大化
查看>>
ps 网址
查看>>
广告平台
查看>>
Console环境下的ini文件的读写
查看>>
SYS_并发管理系列4_并发程序管理器程序优先级Priority(案例)
查看>>
压力测试 webbench
查看>>
STL中的priority_queue
查看>>