微信小程序 —— 模块化方法的总结
来源:互联网 发布:电视机的电视直播软件 编辑:程序博客网 时间:2024/06/05 10:00
一、. JS 文件
可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块。模块只有通过 module.exports 才能对外暴露接口。
function sayHello(name) { console.log(`Hello ${name} !`)}function sayGoodbye(name) { console.log(`Goodbye ${name} !`)}module.exports.sayHello = sayHello
其他文件调用模块 .js文件(使用 require(path) )
var common = require('common.js')Page({ helloMINA: function() { common.sayHello('MINA') },})
二、WXS 模块
1、< wxs > 标签
属性:
module —— 当前 < wxs> 标签的模块名。必填字段。
src —— 引用 .wxs 文件的相对路径。
< wxs > 标签模块的定义和使用
<wxs module="foo">var some_msg = "hello world";module.exports = { msg : some_msg,}</wxs><view> {{foo.msg}} </view>
2、. wxs文件
. wxs文件作为一个模块,只有通过 module.exports 才能对外暴露接口。
var foo = "'hello world' from tools.wxs";var bar = function (d) { return d;}module.exports = { FOO: foo, bar: bar,};module.exports.msg = "some msg";
其他文件调用模块 .wxs文件(使用 require(path) )
var tools = require("./tools.wxs");console.log(tools.FOO);console.log(tools.bar("logic.wxs"));console.log(tools.msg);
< wxs > 标签调用模块 .wxs文件(调用 .js文件和 .wxs文件的不同点)
<wxs src="./../logic.wxs" module="tool" />
三、template
a、WXML提供模板(template),可以在模板中定义代码片段,然后在不同的地方调用。
b、模板拥有自己的作用域,只能使用 data 传入的数据以及模板定义文件中定义的 < wxs /> 模块。
1、定义模板 template
使用 name 属性,作为模板的名字。然后在内定义代码片段,如:
<!-- first.wxml --><template name="msgItem"> <view> <text> {{index}}: {{msg}} </text> <text> Time: {{time}} </text> </view></template>
2、当前文件调用模板 template
使用 is 属性,声明需要的使用的模板,然后将模板所需要的 data 传入,如:
<!-- first.wxml --><template is="msgItem" data="{{...item}}"/>
<!-- first.js -->Page({ data: { item: { index: 0, msg: 'this is a template', time: '2016-09-15' } }})
3、其他文件调用模板 template(使用 import)
<!-- second.wxml --><import src="first.wxml"/><template is="msgItem" data="{{text: 'forbar'}}"/>
4、其他文件将除了 < template/> < wxs/> 外的整个代码引入(使用include)
<!-- second.wxml --><include src="header.wxml"/><view> body </view><include src="footer.wxml"/>
<!-- header.wxml --><view> header </view>
<!-- footer.wxml --><view> footer </view>
参考链接:
https://mp.weixin.qq.com/debug/wxadoc/dev/
阅读全文
1 0
- 微信小程序 —— 模块化方法的总结
- 程序模块化的阶段性总结
- 程序的核心—重视模块化
- 微信小程序开发实战——模块化
- 黑马程序员——多文件(模块化)开发C程序的方法
- 设计高模块化C程序的方法
- 设计高模块化C程序的方法
- 微信小程序的作用域和模块化 —— 微信小程序教程系列(8)
- 微信小程序学习笔记——模板和模块化
- 程序模块化的思考
- android 程序开发的插件化 模块化方法 之一
- android 程序开发的插件化 模块化方法
- android 程序开发的插件化 模块化方法 之一
- android 程序开发的插件化 模块化方法 之二
- android 程序开发的插件化 模块化方法 之一
- android 程序开发的插件化 模块化方法之一
- Android 程序开发的插件化 模块化方法 之一
- android 程序开发的插件化 模块化方法 之一
- C++中的命名空间
- Py3上的调试问题 AttributeError: module 'types' has no attribute 'ListType'求解
- TF-IDF与余弦相似性的应用(二):找出相似文章
- SQLyog12.09(64 bit)证书秘钥
- IO编程
- 微信小程序 —— 模块化方法的总结
- set 的用法
- 第14周 项目3
- 变换自动编码器(Transforming Auto-Encoders)翻译
- laravel数据迁移
- Eclipse 修改字符集
- ubuntu+win7 双系统重新安装
- 建造者模式
- Redux原理(一):Store实现分析