拓展

当我们暴露出来的widget api 已经无法满足您时,你可以便可以自行基于客户端暴露出来的 modules 来拓展自己的 widget 。

假如我们要添加一个基于 bmModal module 创建的 widget 。

首先添加 widget/toast.js

toast.js 中用vue插件的写法来写。

var modal = weex.requireModule('bmModal'),
    Toast = Object.create(null)

Toast.install = (Vue, options) => {
    Vue.prototype.$toast = (options) => {
        if(!options.message) return
        modal.toast({
            message: options.message,
            duration: options.duration || 2000
        })
    }
}

Vue.use(Toast)

toast widget 已经大功告成,您只需要引入便可以使用。

// pages/hello/index.js

// 引入你的widget
import 'Widget/toast'


import Home from './index.vue'
new Vue(Vue.util.extend({ el: '#root'}, Home))

index.vue 中便可使用。

this.$toast({
    message: '我自己拓展的',
    duration: 200
})

如果您想覆盖,只需要在 Vue.prototype 上覆盖我们改在上去的名称即可,如 $fetch 等等。

results matching ""

    No results matching ""