codecamp

Weex Rax Framework

Native 和 Web 天生就有很多差异,为了让开发者有更好的体验,大部分的差异是不需要让开发者去关心的。因此 Native 端通过 Framework 模拟出了大量 Web 端的标准全局 API。

常用 API 包括

W3C API
nameclosedatobbtoaperformance
documentlocationnavigatorscreendevicePixelRatio
fetchsetTimeoutclearTimeoutsetIntervalclearInterval
requestAnimationFramecancelAnimationFramealertopenclose
postMessageaddEventListenerremoveEventListenerdispatchEventonerror
PromiseSymbolMapSetWeakMap
WeakSetHeadersResponseRequestXMLHttpRequest
URLURLSearchParamsFontFaceWebSocketEvent
CustomEventmatchMedia

其中部分实现依赖 Weex Module 能力

  • fetch 使用 @weex-module/stream
  • setTimeout 使用 @weex-module/timer
  • clearTimeout 使用 @weex-module/timer
  • setInterval 使用 @weex-module/timer
  • clearInterval 使用 @weex-module/timer
  • requestAnimationFrame 使用 @weex-module/timer
  • cancelAnimationFrame 使用 @weex-module/timer
  • alert 使用 @weex-module/modal
  • open 使用 @weex-module/navigator
  • close 使用 @weex-module/navigator
  • postMessage 使用 BroadcastChannel 能力
  • addEventListener 跨页面监听使用 BroadcastChannel 能力,页面内监听使用内部的 Emitter
  • onerror 使用 @weex-module/globalEvent

模块规范

API描述
define组件定义
require组件依赖,支持 Rax 组件与 Weex 原生模块,注意 Weex 模块需要以 @weex-module/ 开头

其他 API

API描述
__weex_document__createInstanceContext 过程中创建的 Document 实例
__weex_module_supports__weex.isRegisteredModule
__weex_tag_supports__weex.isRegisteredComponent
__weex_define__组件定义
__weex_require__组件依赖,支持 Rax 组件与 Weex 原生模块,注意 Weex 模块需要以
__weex_downgrade__页面降级方法,依赖 @weex-module/instanceWrap
__weex_env__WXEnvironment
__weex_options__创建 Instance 所传递的参数
__weex_data__创建 Instance 所传递的数据
__weex_config__同 weex_options


Weex 环境变量
Weex 样式支持
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Weex 调试

Weex 集成Devtool到Android

Weex 集成Devtool到IOS

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }