rel="Shortcut Icon"> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" /> <link rel="stylesheet" type="text/css" href=http://developer.51cto.com/art/201706/"/css/default.css"> <link rel="stylesheet" type="text/css" href=http://developer.51cto.com/art/201706/"/app/app.wxss"> <link rel="stylesheet" type="text/css" href=http://developer.51cto.com/art/201706/"/app/{{= _.path}}.wxss"> <script> var __path__ = '{{= _.path}}'</script> <script src=http://developer.51cto.com/art/201706/"/script/ViewBridge.js" async type="text/javascript"></script> <script src=http://developer.51cto.com/art/201706/"/script/view.js" type="text/javascript"></script> <script> {{= _.inject_js}} </script> <script> document.dispatchEvent(new CustomEvent("generateFuncReady", { detail: { generateFunc: $gwx('./{{= _.path}}.wxml') } })) </script> </head> <body> <div></div> </body> 实现完膳绫擎两步,就可以拜访 view 页面了,然则你会发明它只能衬着,并不会有任何功能,因为 view 层功能依附于控制层进行的通信, 如不雅控制层收不到消息,它不会响应任何事宜。
我在 wept 的开辟中应用 koa 供给 web 办事,以及 et-improve 供给模板衬着。
我们须要三个页面,一个做为控制层 index.html,一个做为 service 层service.html,还有一个做为 view 层的 view.html
控制层是全部实现过程中最复杂的一块,因为官方对象的代码与 nwjs 以及 react 等第三方组件耦合过高,所以无法拿来直接应用。 你可以在 wept 项目标 src 目次下找到控制层逻辑的所有代码,总体上控制层要负责以下几个功能:
- 实现 service 层,view 层以及控制层之间的通信逻辑
- 根据路由指令动态创建 view (wept 应用 iframe 实现)
- 根据当前页面动态衬着 header 和 tabbar
- 实现原生 API 调用,返回结不雅给 service 层
- window.addEventListener('message', function (e) {
- let data = e.data
- let cmd = data.command
- let msg = data.msg
- // 没有跟 contentscript 握手阶段,不须要处理
- if (data.to == 'contentscript'
推荐阅读
CIO半月刊第十二期|打造“智慧交通”,保障城市高效、安全、智能化运行
【义务编辑:谢海平 TEL:(010)68476606】
>>>详细阅读
本文标题:微信小程序架构分析 (下)
地址:http://www.17bianji.com/lsqh/35676.html
1/2 1