摘要:一個標(biāo)準(zhǔn)的插件結(jié)構(gòu)需要做到不污染全局變量插件有自己的私有函數(shù)插件有自己的發(fā)布訂閱,在插件執(zhí)行的不同時期派發(fā)事件,使得調(diào)用者能夠在插件相應(yīng)的時期執(zhí)行對應(yīng)的操作插件需要可卸載,同時做一些清理工作對于多人開發(fā),此可以作為基本插件,通過的繼承機(jī)制來
一個標(biāo)準(zhǔn)的js插件結(jié)構(gòu)需要做到
1.不污染全局變量
2.插件有自己的私有函數(shù)
3.插件有自己的發(fā)布訂閱,在插件執(zhí)行的不同時期派發(fā)事件,使得調(diào)用者能夠在插件相應(yīng)的時期執(zhí)行對應(yīng)的操作
4.插件需要可卸載,同時做一些清理工作
5.對于多人開發(fā),此可以作為基本插件,通過js的繼承機(jī)制來實(shí)現(xiàn),es6中可以使用class extend
var MyPlugin = (function() { var _fn1 = function() {} // 私有函數(shù) var _fn2 = function() {} // 私有函數(shù) var XX = function(config) {} // 插件名字 XX.prototype = { constructor: XX, init: function(config) { this._config = config // dosomething }, get: function(key) { return this._config[key] }, set: function(key, value) { return this._config[key] = value }, $on: function(key, cb) { }, $emit: function(key) { }, $off: function(key, cb) { }, destory: function() { // 一些清理工作 this.$off() } } return XX })()
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/90707.html
摘要:基于對跨端工作的積累,規(guī)范了一套跨端標(biāo)準(zhǔn),稱之為協(xié)議開發(fā)者只需要按照標(biāo)準(zhǔn)擴(kuò)展流程,即可快速擴(kuò)展任意架構(gòu)模式的終端。實(shí)現(xiàn)了微信端的基本擴(kuò)展,用戶可以以此為模板進(jìn)行開發(fā)。新框架太多?學(xué)不動啦?有這一套跨端標(biāo)準(zhǔn),今后再也不用學(xué)習(xí)新框架了。各個小程序按自己喜好各自為政?有了這套標(biāo)準(zhǔn),再也不用重復(fù)開發(fā)各種新平臺啦。如今前端比較流行的 React Native、Weex、Flutter 等跨平臺開發(fā)框架...
摘要:但是從年微信推出小程序,到至今各大廠商都推出自己的小程序,跨端開發(fā)就不僅僅是技術(shù)的問題了。實(shí)現(xiàn)了微信端的基本擴(kuò)展,用戶可以以此為模板進(jìn)行開發(fā)。 新框架太多?學(xué)不動啦?有這一套跨端標(biāo)準(zhǔn),今后再也不用學(xué)習(xí)新框架了。 各個小程序按自己喜好各自為政?有了這套標(biāo)準(zhǔn),再也不用重復(fù)開發(fā)各種新平臺啦。 如今前端比較流行的 React Native、Weex、Flutter 等跨平臺開發(fā)框架,對于開發(fā)來...
閱讀 2832·2021-11-22 15:11
閱讀 3555·2021-09-28 09:43
閱讀 2899·2019-08-30 13:05
閱讀 3442·2019-08-30 11:18
閱讀 1455·2019-08-29 16:34
閱讀 1313·2019-08-29 13:53
閱讀 2919·2019-08-29 11:03
閱讀 1669·2019-08-29 10:57