codecamp

Weex 扩展内置模块

引入了 ​weex-vue-render​ 这个库之后,在全局能获取到 ​weex​ 这个变量,其中提供了 ​registerModule​ 方法可以扩展内置模块。

API格式

registerModule

  • name​: {string} 必选,模块名称
  • define​: {object} 必选,模块的定义
  • meta​: {object} 可选,模块元数据。将非 iterable 的属性或方法注册到模块对象里,才需要用到这个参数,将 ​{ registerType: 'assignment' } ​作为 meta 参数传入即可

扩展模块示例

下边的代码注册了一个名为 ​guide​ 的模块:

weex.registerModule('guide', {
  greeting () {
    console.log('Hello, nice to meet you. I am your guide.')
  },
  farewell () {
    console.log('Goodbye, I am always at your service.')
  }
})

在​weex​ 上提供了 ​require​ 方法用于获取已注册的模块,直接传递模块名即可:

// 获取模块
const guide = weex.requireModule('guide')

// 可以直接调用模块中的方法
guide.greeting()
guide.farewell()

上述模块使用方法在 Native 环境中依然有效,只不过模块中的方法是由 Native 提供的。


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; }